[英]Qt in Ubuntu: Cannot compile using static boost libraries
我正在嘗試使用Ubuntu 14.04,Qt和一些Boost庫來編譯C ++插件。
我按如下方式構建了Boost庫:
libboost-all-dev
如果我使用共享的Boost庫,例如libboost_system.so,則項目可以正常編譯。 但是,我想使用靜態增強庫(libboost_system.a)進行編譯。 我的boost項目中出現以下錯誤:
"relocation R_X86-64-32 against '.rodata.str1.1' cannot be used when making a shared object; recompile with -fPIC".
這是我的Qt項目文件:
VERSION = 1.3.1
TEMPLATE = lib
QT -= gui
CONFIG += warn_on plugin release
CONFIG -= thread exceptions qt rtti debug
CONFIG += c++11
INCLUDEPATH += /usr/include
LIBS += "/usr/lib/x86_64-linux-gnu/libboost_system.a"
LIBS += "/usr/lib/x86_64-linux-gnu/libboost_filesystem.a"
DEFINES += APL=0 IBM=0 LIN=1
DEFINES += IGOCONNECT_LIN_LIBRARY
TARGET = lin.xpl
QMAKE_CXXFLAGS += -fvisibility=hidden
QMAKE_CXXFLAGS += -fPIC
SOURCES += igoconnect_lin.cpp
HEADERS +=
unix {
target.path = /usr/lib
INSTALLS += target
}
我做錯了什么? 非常感謝!
試試看
LIBS += -lboost_system
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.