libsndfile:未定义的引用
libsndfile : Undefined references
我已经将 bin 文件夹添加到系统 PATH 以及 "libsndfile-1.dll" 到主目录
程序。
我链接了包含目录并添加了 "libsndfile-1.lib" 库
来自代码块的库链接器。
我已经从 dll 和原始定义文件中制作并链接了额外的 .a
。因为否则它会报错。
在我发现头文件没有定义隐含在大量示例中的函数之后.. 我运行一个程序只包含引用可用的函数。
https://github.com/michaelwu/libsndfile/blob/master/examples/sfprocess.c
当然,有些东西不会再起作用了,因为当我 运行 程序抛出运行时错误时:应用程序无法正确启动 (0xc000007b)
我现在错过了什么?
订单很重要!
您想使用:
gcc -I D:\apps\libsndfile\include\ main.c -o testexec -L D:\apps\libsndfile\lib\ -lsndfile
供大家参考
您遇到的错误表明该应用程序是 32 位的,并试图加载 64 位库(请参阅 NTSTATUS),反之亦然。
您应该安装正确的库:如果您的系统是 32 位,则安装 32 位版本;如果您的系统是 64 位,则安装 64 位版本。表格here好像两个版本都可以下载
验证命令行,最好手动编译。
确保所有模块都来自 x64 位预编译(它们的大小有细微差别)、静态库和动态库,包括您制作的 .a。
当只有一个模块用于 x32 位系统,而不是整个库时,通常会出现 NTSTATUS 错误。
这在音频编程中确实很重要,因为它非常依赖于它,您可以从直接声音处理中得出结论。
所以这真的不是图书馆的错。
不要用MSYS安装。
..只要您从 CB 中链接了所有库,就不必在命令行中附加 -lsndfile
。
我已经将 bin 文件夹添加到系统 PATH 以及 "libsndfile-1.dll" 到主目录 程序。
我链接了包含目录并添加了 "libsndfile-1.lib" 库 来自代码块的库链接器。
我已经从 dll 和原始定义文件中制作并链接了额外的
.a
。因为否则它会报错。
在我发现头文件没有定义隐含在大量示例中的函数之后.. 我运行一个程序只包含引用可用的函数。 https://github.com/michaelwu/libsndfile/blob/master/examples/sfprocess.c 当然,有些东西不会再起作用了,因为当我 运行 程序抛出运行时错误时:应用程序无法正确启动 (0xc000007b)
我现在错过了什么?
订单很重要!
您想使用:
gcc -I D:\apps\libsndfile\include\ main.c -o testexec -L D:\apps\libsndfile\lib\ -lsndfile
供大家参考
您遇到的错误表明该应用程序是 32 位的,并试图加载 64 位库(请参阅 NTSTATUS),反之亦然。
您应该安装正确的库:如果您的系统是 32 位,则安装 32 位版本;如果您的系统是 64 位,则安装 64 位版本。表格here好像两个版本都可以下载
验证命令行,最好手动编译。
确保所有模块都来自 x64 位预编译(它们的大小有细微差别)、静态库和动态库,包括您制作的 .a。 当只有一个模块用于 x32 位系统,而不是整个库时,通常会出现 NTSTATUS 错误。 这在音频编程中确实很重要,因为它非常依赖于它,您可以从直接声音处理中得出结论。 所以这真的不是图书馆的错。
不要用MSYS安装。
..只要您从 CB 中链接了所有库,就不必在命令行中附加 -lsndfile
。