gpt4 book ai didi

gcc - 为什么 "undefined reference to ` boost::system::generic_category"即使我确实链接到 boost_system

转载 作者:行者123 更新时间:2023-12-03 13:56:23 27 4
gpt4 key购买 nike

如果我没有输入 -lboost_system,我会理解此错误消息。标志,但它真的在这里:

g++ -o build/myproject build/main/main.o -L/usr/local/boost/boost_1_52_0/boost/libs -L/usr/lib -Lbuild -L。 -lboost_system -lboost_thread -lpthread -lboost_regex -lpq -lmylibrary
build/libmylibrary.a(library.o):在函数`__static_initialization_and_destruction_0(int, int)'中:
library.cpp:(.text+0x25f): undefined reference to `boost::system::generic_category()'
library.cpp:(.text+0x269): undefined reference to `boost::system::generic_category()'
library.cpp:(.text+0x273): undefined reference to `boost::system::system_category()'

你知道我应该调查什么来解决这个问题吗? (我使用 gcc 4.6.3)

最佳答案

您链接库的顺序很重要,在您的情况下,您有 library.cpp显然使用 boost_system图书馆

library.cpp:(.text+0x25f): undefined reference to `boost::system::generic_category()'
library.cpp:(.text+0x269): undefined reference to `boost::system::generic_category()'
library.cpp:(.text+0x273): undefined reference to `boost::system::system_category()'

要解决这个问题,您应该将 boost_system 库移动到链接行的末尾
g++ -o build/myproject build/main/main.o -L/usr/local/boost/boost_1_52_0/boost/libs -L/usr/lib -Lbuild -L. -lboost_thread -lpthread -lboost_regex -lpq -lmylibrary **-lboost_system** 

或者,构建 libmylibrary.so作为共享库并链接到 boost_system图书馆直接。

关于gcc - 为什么 "undefined reference to ` boost::system::generic_category"即使我确实链接到 boost_system,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com