我正在尝试构建一个依赖于二进制分布式静态库的项目。
链接器抱怨它找不到ini_config函数,其中包括:
config_params.c:(.text+0x16f): undefined reference to `ini_get_config_valueobj'
它找到动态库,但找不到静态版本:
attempt to open /usr/lib/gcc/x86_64-linux-gnu/7/libini_config.a failed
attempt to open /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu
在Linux上,我正在构建一个以前与静态库( C++ )链接的可执行文件,我已经更新了构建,以便它现在可以动态地链接到这个库(.so)。我想确认这个库中的代码不再静态地链接到可执行文件中。我希望能够通过比较静态链接和动态链接的可执行文件的nm输出来确认这一点,但是两者之间有很多不同,如果有更好的方法推荐,那么手动确认这个way...wondering将是一种努力。
我尝试在上用的tenserflow c api和tenserflow.dll在windows c程序上编译。下面是这个例子:
#include <stdio.h>
#include <tensorflow/c/c_api.h>
int main() {
printf("Hello from TensorFlow C library version %s\n", TF_Version());
return 0;
}
编译是成功的,但是当我运行它时,我收到了一个libtenserflow.so没有发现的错误。因为libtensorflow.so是Linux
我有一个应用程序应该运行在各种平台上,如ARM、i386、amd64等。我想检查任何可能的内存泄漏,我在GCC中启用了地址消毒器作为-fsanitize=address。我们正在使用buildroot编译整个OS+Application。为了确保每个开发人员都安装了相同版本的库,我们在ProjectX/lib路径中打包了所有所需的动态库,并将其设置为LD_LIBRARY_PATH。如果关闭地址消毒剂,一切正常。如何使用地址清除器进行编译并运行该应用程序
/lib/i386-linux-gnu/libm.so.6: version `GLIBC_2.23' not found (requ