Qt in Ubuntu:无法使用静态boost库进行编译

时间:2015-02-01 01:48:55

标签: qt ubuntu boost static

我正在尝试使用Ubuntu 14.04,Qt和一些boost库来编译C ++插件。

我按如下方式构建了boost库:

libboost-all-dev

如果我使用共享的boost库,例如libboost_system.so,项目编译得很好。但是,我想使用静态boost库(libboost_system.a)进行编译。我的提升项目中出现以下错误:

 "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 
}

我做错了什么?非常感谢你!

1 个答案:

答案 0 :(得分:0)

试试

LIBS += -lboost_system