link static lib in eclipse cdt

不打扰是莪最后的温柔 提交于 2019-11-27 02:36:54

问题


I am sorry! I have googled this a lot and cannot find an answer! It's dumb I know.

I cannot link in static libraries(*.a) in eclipse cdt. I listed them all in Project->Settings-> GCC C++ linker -> Libraries. I used the absolute path to make sure I had the lib correct... and i get:

cannot find -l/usr/local/lib/libboost_date_time.a

I am sure it's stupid whatever I am doing wrong :(

Edit -- and i should mention i am linking the libraries at run time...


回答1:


I remember having a similar issue way back when I was compiling our code under linux (coming from a windows background) and if I recall correctly specifying the absolute path to the static lib also didn't work.

Are you aware that to link to "libboost_date_time.a", you need to specify "boost_date_time" without the "lib" and the ".a"? In my case that solved the problem. /usr/local/lib should be on your path in any case AFAIR.




回答2:


Static libraries or archives are just a collection of object files.

Add the archive as Other Objects under C/C++ Build -> Settings -> C++ Linker -> Miscellaneous:

Some folks cry bloody murder over specifying a full pathname. I find it works in practice (unlike theory at times), and its no worse than breaking the path and filename, and then specifying them with -L and -l. And did I mention it actually works in practice...




回答3:


I had the similar problem when adding the libs in the C/C++ General->Paths & Symbols configuration screen.

Instead on the C/C++ Build -> settings screen under GCC C++ Linker / Libraries I added the library name without lib and .a in Libraries (-l) and adding the path in Libraries search path (-L). This solved my problem



来源:https://stackoverflow.com/questions/4952403/link-static-lib-in-eclipse-cdt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!