首页| 论坛| 消息

标题:qt引用外部c库问题
作者:n1wer
日期:2010-11-13 11:38
内容:

我想在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
。。。
的错误,
谁知道怎么回事呀,是不是我使用错了,


#1 [dbzhang800 11-13 22:33]
你是不是把 `card' 的定义都放到头文件中了??
原则:头文件中只放声明,不放定义。(类定义,const 常量定义、模板定义除外)

回复 发表
主题 版块