我一直在关注如何创建共享库的这些说明(http://jonisalonen.com/2012/calling-c-from-java-is-easy/),但这些说明仅说明了如何使用一个文件。当我使用这个文件,我进入共享库时,.so文件无法在同一个地方调用其他.c文件。我如何编译所有的c文件,以便我可以创建一个可以通过java访问的合并共享库?
答案 0 :(得分:1)
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
相应地调整其他编译器标志,包括你正在使用的其他东西的路径等。