首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu中的Qt :无法使用静态boost库进行编译

Ubuntu中的Qt :无法使用静态boost库进行编译
EN

Stack Overflow用户
提问于 2015-02-01 09:48:55
回答 1查看 620关注 0票数 0

我正在尝试使用Ubuntu14.04、Qt和一些boost库来编译一个C++插件。

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

代码语言:javascript
复制
libboost-all-dev

如果我使用共享的boost库,比如libboost_system.so,这个项目编译的很好。但是,我希望使用静态boost库(libboost_system.a)进行编译。我在我的boost项目中得到以下错误:

代码语言:javascript
复制
 "relocation R_X86-64-32 against '.rodata.str1.1' cannot be used when making a shared object; recompile with -fPIC". 

这是我的Qt项目文件:

代码语言:javascript
复制
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 
}

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

EN

回答 1

Stack Overflow用户

发布于 2015-02-01 10:00:21

试试看

代码语言:javascript
复制
LIBS += -lboost_system
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28258613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档