我从这里下载了“Wave Audio Package”VCL组件http://www.delphiarea.com/downloads/ ,组件包适用于 Delphi,我需要从 CBuilder 端使用它(我正在使用 RAD Studio XE),在调整 dproj 的设置之后(在 C++ 输出文件生成中,我设置为“生成所有 C++ Builder 文件(包括包) libs)") 我设法让 VCL 组件在 CBuilder 端工作。
但仍然存在问题,我无法使用它的“全局”函数(在命名空间 Waveutils::下),例如 Waveutils::SetPCMAudioFormatS、Waveutils::GetWaveAudioFormat 等。编译过程很好,但有链接问题表示链接器无法找到该函数的引用,即使在我添加了库“WA2010.lib”(这是我从delphi端构建组件时生成的)之后也是如此。我已经使用 TDUMP 转储了 WA2010.lib,它似乎包含函数的代码。
我是否遗漏了哪些步骤?预先感谢您的帮助。
最佳答案
如果组件是开源的,请将它们用作动态实例化。 请记住:
do not install components in C++ Builder!
这是邪恶的。 将组件单元添加到您的应用程序并实例化:
TWaveComponent *waveComponent; // in global scope
//in form constructor:
waveComponent = new TWaveComponent(Owner);
waveComponent->property1 = value1;
waveComponent->property2 = value2;
waveComponent->OnEvent = myEventHandler;
...
关于delphi - 在Cbuilder中使用Delphi组件链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116747/