【发布时间】:2016-03-18 04:06:51
【问题描述】:
我已将 bin 文件夹添加到系统 PATH 以及“libsndfile-1.dll”到主目录 程序。
我已链接包含目录并添加了“libsndfile-1.lib”库 来自代码块的库链接器。
我已经从 dll 和原始定义文件中创建并链接了额外的
.as。因为否则它会抱怨。
在我发现头文件没有定义大量示例中隐含的函数之后。我运行了一个仅包含引用可用函数的程序。 https://github.com/michaelwu/libsndfile/blob/master/examples/sfprocess.c 当然,有些东西不会再起作用了,因为当我运行程序时,它抛出了运行时错误:应用程序无法正确启动(0xc000007b)
我现在错过了什么?
【问题讨论】:
-
首先你必须确保命令行是正确的。您可以更改 CB 配置以显示命令行,它位于用户手册 (codeblocks.org/docs/manual_en.pdf)“1.11.6 编译器的扩展设置”中。另外我认为您可以为编译和链接提供自定义命令行(参见 1.9 3.5 和 3.6)。
-
命令行似乎最终很长..可能是因为安装了 gtk 和几个模块。我能注意到的唯一不寻常的事情是它使用
-ID和-LD而不是-I和-L..因此不寻常但没有错。 -
您确认订单是否正确?无论如何,我建议你发布它。
-
这个“警告:函数'sf_open_read'的隐式声明”意味着编译器找不到声明函数的头文件。它在此处搜索标题:D:\apps\libsndfile\include(D 只是驱动器名称)。检查此路径,看看是否有正确的 .h 文件。
-
好吧,由于某种原因,头文件没有定义那个特定的函数,但还有很多其他类似的。所以我认为这些例子已经严重过时了。使用另一个函数,编译但抛出运行时错误:应用程序无法正确启动..
标签: c mingw windows-7-x64 undefined-reference libsndfile