【发布时间】:2013-12-04 23:34:28
【问题描述】:
我构建并安装了 spidermonkey 的源代码,我想将它的库及其包含文件夹与我的 C++ 应用程序链接起来,所以我在 linux 上编写了这个命令
g++ -I/home/SpiderMonkey/js-1.8.5/js/src/dist/include
-L/home/SpiderMonkey/js1.8.5/js/src/dist/lib -lmozjs185 helloworld.cpp -o
但是它给了我未定义的引用错误,那么这个命令有什么问题: src代码的构建路径是home/SpiderMonkey/js1.8.5/src 当我安装src代码时,它的libs和include文件夹现在分别存在于usr/local/lib和usr/local/include/js中,所以我应该在命令中使用哪个路径来编译我的hellowrorld.cpp。 另外,我发现了 3 个同名但扩展名不同的库:
libname.so, libname.so.1.0, libname.so.1.0.0 and libname.a
我应该使用哪个库,有什么区别?
【问题讨论】:
-
*.so 是动态库,*.a 是静态库
-
那么 .so.1.0 和 .so.1.0.0 呢?我应该使用哪一个?静态的还是动态的?
标签: c++ g++ static-linking dynamic-linking spidermonkey