簡體   English   中英

Ubuntu中的Qt:無法使用靜態Boost庫進行編譯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM