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