c++程序链接外部库找不到静态库问题 100
c++项目用到第三方库问题,我把需要用到的库编译安装到电脑系统/usr/local/lib默认库目录下./configure--enable-staticmake&mak...
c++项目用到第三方库问题,我把需要用到的库编译安装到电脑系统/usr/local/lib 默认库目录下
./configure --enable-static make&make install 在/usr/local/lib 下生成了test.a
在c++项目里
gcc -I/usr/local/include -L/usr/local/lib -ltest //为什么报错说找不到库,
test.a是安装成功生成静态库啊! gcc 命令-ltest 这里不能引用静态库吗?我把软件重新安装改成动态库
./configure -enable-shared 这时候c++项目就能找到库,能用了!为什么啊?
静态编译的成库,别人引用不了的吗?是不是,c++新手!求解答!
.a静态库,不是包含了动态库的信息 吗? 合成一个文件了啊,
gcc -l 参数是不是只能认动态库? 也就是说 -test 链接的是 .so 或 .dylib ?不是链接的.a?
求大神解答 展开
./configure --enable-static make&make install 在/usr/local/lib 下生成了test.a
在c++项目里
gcc -I/usr/local/include -L/usr/local/lib -ltest //为什么报错说找不到库,
test.a是安装成功生成静态库啊! gcc 命令-ltest 这里不能引用静态库吗?我把软件重新安装改成动态库
./configure -enable-shared 这时候c++项目就能找到库,能用了!为什么啊?
静态编译的成库,别人引用不了的吗?是不是,c++新手!求解答!
.a静态库,不是包含了动态库的信息 吗? 合成一个文件了啊,
gcc -l 参数是不是只能认动态库? 也就是说 -test 链接的是 .so 或 .dylib ?不是链接的.a?
求大神解答 展开
1个回答
展开全部
安装库的时候 sudo 了没 ??
lib 是系统目录,没有 root 权限是无法写入文件的;
顺便问一下,那个 ./config --enable-static 命令有什么作用呢 ?
我一般是 sudo make 然后 sudo make install;
lib 是系统目录,没有 root 权限是无法写入文件的;
顺便问一下,那个 ./config --enable-static 命令有什么作用呢 ?
我一般是 sudo make 然后 sudo make install;
追问
你也是新手啊 staitc 生成静态库啊
追答
别提了,想装 Ubuntu,结果总是把引导文件装在 U 盘,导致没有 U 盘就无法进入系统,搞了几次都没成功 。。。一般 make 之后不就自动生成静态库和动态库了么,install 之后会把这些文件分类放到系统特定目录里面 。。。gcc 参数可以用 man gcc 来查看,或者 man gcc | grep "-l" 这样子;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询