我正在Windows 10下构建portaudio,但我不知道如何在libportaudio.la
构建目录下链接portaudio
文件。
我将MSYS与MinGW结合使用来构建端口音频,如下:http://portaudio.com/docs/v19-doxydocs/compile_windows_mingw.html
(但是我没有make install
)
我在cmd
中的构建命令是:
g++ test.cpp -I"portaudio_dir/include" -L"portaudio_dir/lib" -lportaudio
,失败并显示cannot find lportaudio
答案 0 :(得分:0)
您假设文件libportaudio.la
是PortAudio库,
刚建的不是图书馆。
$ file libportaudio.la
libportaudio.la: libtool library file, ASCII text
这是libtool
生成以方便平台无关的键值对的文本文件
GNU autotools中实际库的链接
项目,例如PortAudio本身。您可以在文本编辑器中将其打开并阅读。
您使用其构建的真实(静态和动态)PortAudio库:
./configure
make
位于隐藏的子目录中:
portaudio/lib/.libs
这对于使用自动工具构建的库来说很常见。预计之后
make
,您将运行make install
(作为root
),它将复制库
及其关联的头文件到默认安装目录,或者
您指定的替代选项:
./configure PREFIX=<prefix_dir>
正如您所说,您没有运行make install
。如果您要针对libportaudio
链接程序
而静态和动态库仅保留在构建目录中,您需要:
$ g++ test.cpp -I"portaudio_dir/include" -L"portaudio_dir/lib/.libs" -lportaudio
但是请记住,即使您成功将这样的程序与动态链接
库portaudio_?.dll
,该程序将无法在运行时加载DLL
除非操作系统加载程序可以通过其standard DLL search algorithm
确保在运行时找到DLL的最简单(但不一定最好)的方法是: 将其复制到与程序相同的目录中。