2

我正在 MS Visual Studio 2005 的解决方案中开发一个子项目。该子项目是一个 Windows CE 6.0 服务(作为 DLL),它包含在 Windows CE 6.0 OS 项目中。在子项目中,我需要使用“ceosutil.lib”中的一些函数(svsutil.hxx 是标题),但我无法将它链接到我的子项目。构建时,我收到以下类型的错误:“错误 LNK2019:未解析的外部符号”。

有趣的是,当我将项目类型切换为静态库时,它编译没有问题。如果我启动一个新的 DLL 项目(独立项目,而不是子项目),它也可以工作(“ceosutil.lib”已经在项目的附加依赖项和所有配置中列出)。

请帮忙!

4

1 回答 1

2

我已经找到了我自己的问题的答案。解决方案是将库的名称(“ceosutil.lib”,在空格之后)添加到子项目属性的“链接”选项卡中的“附加库”字段中:

在 MS Visual Studio 2005 中:鼠标右键单击子项目名称 -> 属性 -> 链接选项卡 -> 附加库。

默认值为:$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib

新值:$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib ceosutil.lib

更新:打开子项目(鼠标右键 btn -> 打开)并将路径粘贴到 TARGETLIBS 部分中的库更容易。结果将完全相同:

TARGETLIBS=\$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib\

于 2012-04-12T12:45:25.213 回答