2012-04-11 38 views
2

我正在MS Visual Studio 2005中的解决方案中开发子项目。子项目是Windows CE 6.0服务(如DLL),它包含在Windows CE 6.0 OS项目中。在子项目中,我需要使用“ceosutil.lib”中的一些函数(svsutil.hxx是头文件),但我无法将其链接到我的子项目。在构建时,出现以下类型的错误:“错误LNK2019:无法解析的外部符号”。不能在项目中包含静态库

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

请帮忙!

回答

2

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

在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 \

相关问题