相关疑难解决方法(0)

链接无法找到符号,但读取库并存在符号

我一直在努力编译我的项目而且我遇到了undefined reference错误.例如.:

installertest.cpp:(.text+0x9d1): undefined reference to `XmlRpcValue::makeArray()'
...
installertest.cpp:(.text+0xede): undefined reference to `dbcancel'
installertest.cpp:(.text+0xefd): undefined reference to `dbfcmd'
installertest.cpp:(.text+0xf0f): undefined reference to `dbsqlexec'
installertest.cpp:(.text+0xf2d): undefined reference to `SHA1_Init'
...
Run Code Online (Sandbox Code Playgroud)

我的命令行是:

g++ -o installertest \
    -lsybdb \
    -lxmlrpc \
    -lxmlrpc_cpp \
    -lxmlrpc_xmlparse \
    -lxmlrpc_xmltok \
    -lxmlrpc_util \
    -lxmlrpc++ \
    -lxmlrpc_server_cgi \
    -lssl \
    -std=c++0x \
    ContractData.o installertest.o
Run Code Online (Sandbox Code Playgroud)

objdump -T显示符号位于.so文件中.例如.:

libsybdb.so:
...
0000000000011c30 g    DF .text  0000000000000083  Base        dbcancel
...

/usr/lib/libxmlrpc_cpp.so:
...
0000000000002e78 g    DF .text  0000000000000092  Base        _ZN11XmlRpcValue9makeArrayEv …
Run Code Online (Sandbox Code Playgroud)

linux g++ ld shared-objects

6
推荐指数
1
解决办法
4023
查看次数

是否使用一个编译器与另一个编译器兼容创建静态c库

在我的例子中,我有一个使用代码源gcc定位arm cortex-m4构建的库.我试图将该库链接到使用IAR编译器编译的项目.

是否可以这样做或者是否必须使用新工具重建库?哪些因素会影响这个?

c linker gcc iar

5
推荐指数
1
解决办法
1277
查看次数

标签 统计

c ×1

g++ ×1

gcc ×1

iar ×1

ld ×1

linker ×1

linux ×1

shared-objects ×1