由于工作需要,需要使用C++完成部分工作。
第一次使用C++做工作的事情,在此之前也只是在学校自己学习了谭老师的C语言教材。
此次相关工作需要使用C++调用一个第三方的库。
工程目录结构:
main.cpp
mylib/include/tool.h
mylib/lib/tool.cpp
1.代码:
tool.h
void hello();
tool.cpp
#incluce "tool.h"
#include <stdio.h>
void hello() {
printf("hello world!\n");
}
编译.so文件:g++ tool.cpp -I../include -fPIC -shared -o libtool.so //(-I指定头文件路径)
main.cpp
#include "hello.h"
int main() {
hello();
}
编译:g++ main.cpp -Imylib/include -Lmylib/lib -ltool -o main // (-L指定动态链接库路径 -ltool指定动态库名称)
2.执行./main
3.如果执行出错,提示找不到动态库:export LD_LIBRARY_PATH='./mylib/lib'
再重新编译即可。