目录结构
libtest/src/main.c
libtest/lib/hello.c
libtest/include/hello.h
解决办法
我本来生成的是libhello.lib,在linux系统上完全可以,但cygwin上就是不行,一直以为是gcc 的问题,搞了半天。后来重新搜索关键字cgywin gcc 动态库 才找到正确答案,哎。
- 生成dll文件, 而不是so文件(生成so文件需要ln链接)
- 指定PATH:将库路径附加到环境变量PATH中,LD_LIBRARY_PATH未生效
详细内容可以stackoverflow的solution
编译动态库
cd lib
gcc -I../include -fPIC -shared -o libhello.dll hello.c
编译、执行
编译运行