• 5142阅读
  • 1回复

qt引用外部c库问题 [复制链接]

上一主题 下一主题
离线n1wer
 
只看楼主 倒序阅读 楼主  发表于: 2010-11-13
我想在qt程序里面引用外部的静态库,
pro文件里面添加如下
INCLUDEPATH +=/lin/include
LIBS+=/lin/lib/lib.a

然后再 mm.h里面添加
#include "aa.h"    //aa.h是库的头文件
然后再mm.cpp中使用静态库提供的函数init(),等

编译的时候就出现

arm-linux-g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -O2  -DQT_NO_DEBUG -DQT_SHARED -I/qt/qte-target/mkspecs/qws/linux-arm-g++ -I. -I. -I/lin/include -I/qt/qte-target/include -o main.o main.cpp
arm-linux-g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -O2  -DQT_NO_DEBUG -DQT_SHARED -I/qt/qte-target/mkspecs/qws/linux-arm-g++ -I. -I. -I/lin/include -I/qt/qte-target/include -o test.o test.cpp
/qt/qte-target/bin/moc test.h -o moc_test.cpp
arm-linux-g++ -Wl,-rpath,/qt/qte-target/lib -o test main.o test.o moc_test.o   -L/qt/qte-target/lib /lin/lib/lib.a -lqte
test.o(.bss+0x0): multiple definition of `card'
main.o(.bss+0x0): first defined here
test.o(.bss+0x370): multiple definition of `sys'
main.o(.bss+0x370): first defined here
。。。
错误

谁知道怎么回事呀,是不是我使用错了,
离线dbzhang800

只看该作者 1楼 发表于: 2010-11-13
你是不是把 `card' 的定义都放到头文件中了??

原则:头文件中只放声明,不放定义。(类定义,const 常量定义、模板定义除外)
快速回复
限100 字节
 
上一个 下一个