我无法在MSVC-2013 for Windows Phone 8.0中获取与.exe应用程序链接的静态库。
我做了什么:
File-> New-> Project-> DirectX App(Windows Phone 8.0) - >将其命名为“MyApp”。
这个模板创建了一个很好的应用程序,可以毫无问题地编译和运行。
右键单击解决方案 - >添加 - >新建项目 - >静态库(Windows Phone 8.0)。我们称之为“MyLib”。
右键点击MyApp - >构建依赖关系 - >项目依赖关系 - >使其依赖于MyLib。
仍然编译并运行。
转到MyLib.h并声明int my_function(int x)
。
转到MyLib.cpp并定义int my_function(int x) {return 0;}
。
#include "MyLib.h"
。
在CubeRenderer.cpp的int y = my_function(6);
中添加CubeRenderer::CubeRenderer()
。
这会产生链接器错误。
error LNK2019: unresolved external symbol "int __cdecl my_function(int)" (?my_function@@YAHH@Z)
MyApp依赖于MyLib,因此我无需设置Linker->Input->Addidtional Dependencies
。无论如何,我已经尝试过但仍然得到错误。
我在MyLib.lib中搜索了?my_function@@YAHH@Z
- 并在那里找到了5次。
也许我不能使用名为Static Library (Windows Phone 8.0)
的模板,而应使用DLL (Windows Phone 8.0)
或Windows Runtime Component (Windows Phone 8.0)
?
答案 0 :(得分:1)
您需要将Project添加到Project引用以进行此构建。您可以通过右键单击项目Add-> References并单击Add New Reference并将MyLib作为项目添加到MyApp作为项目引用来添加。