正在生成 .so 文件
Generating .so file
我有文件main.c
,我想创建main.so
。
main.c
取决于libCmodel.so
文件。
main.c
看起来像
#include <stdio.h>
#include "Cmodel.h" // Must include before Amodel and Bmodel
#include "Amodel.h"
#include "Bmodel.h"
int main(){
..
return 0;
}
可以看出,libCmodel.so
文件取决于libAmodel.so.4
和libBmodelso.11.
所有"*.so"
文件都与main.c
位于同一目录中
我使用以下命令生成对象文件
gcc -x c++ -fPIC main.c -o main.o -c -I.
我看到生成了main.o
。 但是,我不确定我是否使用了正确的命令。上面的命令正确吗?
然后,我尝试了以下逗号来生成 main.so,
g++ -shared -o main.so main.o -L. -lCmodel
g++ -shared -o main.so main.o -L. -lCmodel -lAmodel -lBmodel
g++ -shared -o main.so main.o -L. -lCmodel -lAmodel.4 -lBmodel.11
g++ -shared -o main.so main.o -L. -lCmodel -lAmodel.so.4 -lBmodel.so.11
以上哪一个命令是正确的? 请帮忙
包含main
函数的文件不应是共享库。 它是应用程序的入口点,因此应将其链接为可执行文件。
gcc -x c++ -I. -L. -o main main.c -lCmodel
相关文章:
- 如何使用ndk-build.cmd构建Android.so文件
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 用于构建 cuda .so 文件(共享库)的生成文件
- 无法从 SO 文件调用 SO 文件的函数 - C++生成文件
- 如何在 C++ 的 .so 文件中包含库
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- Google Colab 看不到 .so 文件
- 如何在 Linux 中从 .so 文件打开可执行文件?
- 如何在makefile中包含tensorflow c ++".so"文件?
- 缺少 .h 文件,尽管从库文件夹链接了 .so 文件
- 如何在 CMake 超级生成中查找 dll/so 文件
- 如何用.so文件linux打包所有需要的库
- 如何调试visual studio 2017生成的C++代码.android中的SO文件和其他第三方库
- 从多个C++文件生成 .so 文件并使用它
- .so 文件无法"see"编译时使用的库
- 从 .so/.o 文件中获取 C/cpp 中的静态库列表
- 在Windows上运行Linux Makefile(.so文件)
- 如何静态链接到 POCO C++ so 文件
- C++ .so 文件中的模板化函数
- 卸载共享对象(.so 文件)在 C++ 中用 dlopen() 打开