gcc如何在编译时为共享对象包含多个头文件

时间:2018-06-04 19:24:41

标签: c++ gcc

我正在尝试从.a文件和.h文件以及源文件中编译.so文件 .cpp

.so-output,共享库
.a-static库使用
API的.h-header文件 .cpp-source file
/ include - Python开发包标题

当我第一次尝试时

gcc -fPIC pyOkHound.cpp -L ./PhraseSpotterAPI.h ./libPhraseSpotter.a -shared -o OkHound.so

gcc抛出pyOkHound.cpp:4:20:致命错误:Python.h:没有这样的文件或目录 编译终止。 这是有道理的,因为我的源文件需要Python.h

然后当我包含python lib

gcc -fPIC pyOkHound.cpp -L ./include/*.* ./PhraseSpotterAPI.h ./libPhraseSpotter.a -shared -o OkHound.so
它扔了 gcc:致命错误:无法使用多个文件指定-o和-c,-S或-E 编译终止。 我试过-l和-L来包含来自python dev的头文件,但它抛出相同的东西。 但是我不认为-include是正确的,因为头文件用于API而不是源代码。

如何在编译时为共享对象包含多个头文件? 我也在这里跟着-I标志https://www.rapidtables.com/code/linux/gcc/gcc-i.html
    gcc -c -fPIC pyOkHound.cpp -I./include -shared -o OkHound.so

0 个答案:

没有答案