gcc或者g++链接时,根据库名字进行链接。
g++ main.cpp -L. -ldemo ##这里编译时就会链接当前路径下的libdemo.so
但是,如果libdemo.so带有版本信息,比如libdemo.so.1,此时链接,有两种方式:
1. 建立libdemo.so.1的软链接libdemo.so
然后编译的时候,照样执行上面的指令
2. 修改编译时的指令
g++ main.cpp -L. -l:libdemo.so.1
如果库的版本不是经常变更,我感觉用第二中方法更好。
3. 如果通过cmake去链接
TARGET_LINK_LIBRARIES(my liblog4cplus.so.0 libsqlite3.so.0 curl libssl.so.1.0.0 libcrypto.so.1.0.0 libuuid.so.1 pthread libpaho-mqtt3as.so.1 dl libhiredis.so.0.14)
直接写上完整的库的名字即可