- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的代码:
// hello.c
#include<stdio.h>
int main(int argc, char **argv) {
return (0);
}
我在终端中输入 gcc hello.c -o -shared libhello.so
并得到:
gcc: error: libhello.so: No such file or directory
问题:如何用一个命令行将.c文件编译成.so文件
更新:如果我用 gcc hello.c -shared -o libhello.so
修复它,但我只是有些困惑,为什么错误消息是“gcc:错误:libhello.so:没有这样的文件或目录”,而不是“gcc:错误:libhello.so:没有这样的文件或目录'-shared'”
最佳答案
顺便说一句,共享库应该包含 position independent code .所以编译它
gcc -Wall -fPIC -shared -O -g hello.c -o libhello.so
共享对象应该(几乎)永远不会有main
函数。
附言。 gcc
的参数顺序很重要!
关于c - gcc: 错误: libhello.so: 没有那个文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26731569/
这是我的代码: // hello.c #include int main(int argc, char **argv) { return (0); } 我在终端中输入 gcc hello.c
我有我的项目设置,如果我进行发布构建,那么我会得到名为 libhello.so 的库如果它是调试版本,我会得到类似 libhellod.so 的名称- 注意 d在名字的末尾。 所以当我编译和链接一个应
我正在编写有关 JNI 的教程,以便在我的项目中熟悉它。但是,我一直停留在运行 Java 程序的教程的这个特定部分。我正在使用 Eclipse,我在其中创建了一个 Java 项目并将文件放在一个包中。
我正在使用scons实用程序来生成共享库。当我编写以下规则时: SharedLibrary('hello', 'hello.c') 我会得到``libhello.so''文件。 有没有办法自动获取``
我是一名优秀的程序员,十分优秀!