我知道这个问题已经问过几次了,但是经过一天的搜寻,我仍然无法解决。我正在尝试使用POCO C ++库,并且安装了POCO 1.3的ubuntu 16.0.4 LTS附带了。我下载了最新版本的POCO,并将其构建并安装到/home/{username}/poco-1.9.0-all。但是当我使用Eclipse构建项目时,出现以下错误:
Building target: AuthorizationServer
Invoking: GCC C++ Linker
g++ -L/home/{username}/poco-1.9.0-all/lib -o "AuthorizationServer" ./src/entity/ResourceOwner.o ./src/database/MySQL.o ./main.o -lPocoFoundation -lPocoData -lPocoMySQL
/usr/bin/ld: warning: libPocoData.so.9, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libPocoMySQL.so, may conflict with libPocoData.so.60
/usr/bin/ld: warning: libPocoFoundation.so.9, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libPocoMySQL.so, may conflict with libPocoFoundation.so.60
Finished building target: AuthorizationServer
但是按照link1中的说明,我可以看到我的项目已正确配置,并使用-L / home / {username} /poco-1.9.0-all/lib。谁能帮我解决这个问题。提前谢谢。
我的Eclipse项目属性如下:
C / C ++构建->设置->工具设置-> GCC C ++编译器->包含->包含路径(-I)包含/ home / {用户名} /poco-1.9.0-all/include
C / C ++ Build-> Settings-> Tool Settings-> GCC C ++ Linker-> Libraries-> Libraries(-l)包含PocoFoundation,PocoData,PocoMySQL
C / C ++构建->设置->工具设置-> GCC C ++链接器->库->库搜索路径(-L)包含/ home / {用户名} /poco-1.9.0-all/lib >
答案 0 :(得分:1)
错误消息指出-lPocoMySQL
来自/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libPocoMySQL.so
,而不是/home/{username}/poco-1.9.0-all/lib
。
请确保:
libPocoMySQL.so
,并且/home/{username}/poco-1.9.0-all
是有效路径(看起来不一样)。