0
我一直在关注如何创建共享库的这些说明(http://jonisalonen.com/2012/calling-c-from-java-is-easy/),但这些说明仅显示如何使用一个文件来完成。当我使用这个文件时,我创建了一个共享库,.so文件不能在同一个地方调用其他.c文件。我如何编译所有的c文件,以便我可以通过java访问合并的共享库?如何将多堆c文件合并到外部函数接口的共享库
我一直在关注如何创建共享库的这些说明(http://jonisalonen.com/2012/calling-c-from-java-is-easy/),但这些说明仅显示如何使用一个文件来完成。当我使用这个文件时,我创建了一个共享库,.so文件不能在同一个地方调用其他.c文件。我如何编译所有的c文件,以便我可以通过java访问合并的共享库?如何将多堆c文件合并到外部函数接口的共享库
1)-fPIC
创建对象文件:
gcc -fPIC -c file1.c
这将创建file1.o
。 (与file2.c
,file3.c
等相同)。
2)将其链接到共享库中。
gcc -shared -o library.so file1.o file2.o file3.o
相应地调整为其它编译器选项,包括其他的东西你使用
路径等。