gcc编译链接时指定头文件和库文件搜索路径
2010-11-10 21:58
525 查看
问题:
sudo gcc rongji_ssl.c -lssl
提示找不到openssl/ssl.h等头文件的错误
原因:
gcc在系统默认指定的头文件搜索目录下没找到,默认的头文件搜索目录为:
/usr/include
/usr/local/include
以及/usr/lib/gcc下的一些include目录
注意以上搜索目录也包含子目录!
解决:
方法1:sudo cp -rf /usr/local/ssl/include/openssl /usr/include/
方法2:在编译后面加-I/usr/local/ssl/include
================================================
解决了上面问题后,sudo gcc rongji_ssl.c -lssl又出现了一个新问题:
/usr/bin/ld: cannot find -lssl
原因:gcc在默认的库搜索路径下找不到ssl库文件。
默认的库(包括动、静态库)搜索路径为:
/lib、/usr/lib、/usr/local/lib、
另外动态库搜索路径还可以由:
LD_LIBRARY_PATH环境变量(profile中定义)、/etc/ld.so.conf中指定。
与添加头文件搜索路径类似,在编译时添加-L参数可指定搜索动、静态库的路径。
默认情况下,gcc在链接时优先使用动态库,只有当动态库不存在时才考虑使用静态库,如果需要的话可以在编译时加上-static选项,强制使用静态库。
如:gcc foo.c -L /home/xiaowp/lib -static -lfoo
解决:
通过查找,当前的ssl库为:
/usr/lib/libssl.so.0.9.8
/usr/local/ssl/lib/libssl.a
因此上面的解决方法有:
方法1:在编译后面加-L/usr/local/ssl/lib,使gcc找到并使用静态库。
方法2:sudo ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so,这样就能找到动态库了。
sudo gcc rongji_ssl.c -lssl
提示找不到openssl/ssl.h等头文件的错误
原因:
gcc在系统默认指定的头文件搜索目录下没找到,默认的头文件搜索目录为:
/usr/include
/usr/local/include
以及/usr/lib/gcc下的一些include目录
注意以上搜索目录也包含子目录!
解决:
方法1:sudo cp -rf /usr/local/ssl/include/openssl /usr/include/
方法2:在编译后面加-I/usr/local/ssl/include
================================================
解决了上面问题后,sudo gcc rongji_ssl.c -lssl又出现了一个新问题:
/usr/bin/ld: cannot find -lssl
原因:gcc在默认的库搜索路径下找不到ssl库文件。
默认的库(包括动、静态库)搜索路径为:
/lib、/usr/lib、/usr/local/lib、
另外动态库搜索路径还可以由:
LD_LIBRARY_PATH环境变量(profile中定义)、/etc/ld.so.conf中指定。
与添加头文件搜索路径类似,在编译时添加-L参数可指定搜索动、静态库的路径。
默认情况下,gcc在链接时优先使用动态库,只有当动态库不存在时才考虑使用静态库,如果需要的话可以在编译时加上-static选项,强制使用静态库。
如:gcc foo.c -L /home/xiaowp/lib -static -lfoo
解决:
通过查找,当前的ssl库为:
/usr/lib/libssl.so.0.9.8
/usr/local/ssl/lib/libssl.a
因此上面的解决方法有:
方法1:在编译后面加-L/usr/local/ssl/lib,使gcc找到并使用静态库。
方法2:sudo ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so,这样就能找到动态库了。
相关文章推荐
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
- linux gcc 编译时头文件和库文件搜索路径
- gcc指定头文件路径及动态链接库路径
- linux gcc 编译时头文件和库文件搜索路径inux gcc 编译时头文件和库文件搜索路径
- linux-gcc 编译时头文件和库文件搜索路径
- linux_gcc_编译时头文件和库文件搜索路径.txt
- gcc指定头文件路径及动态链接库路径
- gcc指定头文件路径及动态链接库路径
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题(一)
- linux gcc 编译时头文件和库文件搜索路径
- gcc编译链接时头文件和库文件的搜索顺序
- linux-gcc 编译时头文件和库文件搜索路径
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题
- gcc指定库路径,头文件路径以及实现静态动态链接 .
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题(一)
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题(一)