图书馆之间的冲突

Conflict Between Libraries

我知道这个问题已经被问过几次了,但是我找了一天还是没有解决。我正在尝试使用 POCO C++ LIBRARIES 和 ubuntu 16.0.4 LTS 随 POCO 1.3 安装。我下载了最新版本的 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

但按照 的说明,我可以看到我的项目已正确配置并使用 -L/home/{username}/poco-1.9.0-all/lib。谁能帮我解决这个问题。提前致谢。
我的 eclipse 项目属性如下:

C/C++ Build->Settings->Tool Settings->GCC C++ Compiler->Includes->Include paths(-I)包含/home/{用户名}/poco-1.9.0- all/include

C/C++ Build->Settings->Tool Settings->GCC C++ Linker->Libraries->Libraries (-l) contains PocoFoundation, PocoData, PocoMySQL

C/C++ Build->Settings->Tool Settings->GCC C++ Linker->Libraries->Library search path(-L) contains /home/{username}/poco-1.9.0 -all/lib

错误消息说 -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 是一个有效的路径(它看起来不像一个)。