开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
g++ (GCC) 14.0.1 20240306
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
https://github.com/hosseinmoein/DataFrame 这个开源专案的函式库
问题(Question):
我是使用vcpkg来安装这个函式库的,我确定libDataFrame.a有被放到
/home/vcpkg/installed/x64-linux/lib,但在我用底下指令编译:
g++ main.cpp -o main -I /home/vcpkg/installed/x64-linux/include/ -L /home/vcpkg/installed/x64-linux/lib/ -lDataFrame
作者: melsonlai 2024-03-27 20:31:00
1. gcc 可以下 -v,它会把实际上执行了什么指令印出来,可以看 linker 有没有拿到 -lpthread2. -fuse-ld 是 gcc driver 层的 option,不用透过 -Wl 去使用。-Wl 是拿来传参数给 linker 的。3. 有 @@ 的 symbol 是 versioned symbol,可以看一下linker 用的 glibc/pthread 是不是够新的版本