English 中文(简体)
wx 部件和视觉工作室联系人错误
原标题:wxWidgets and Visual Studio Linker Error When Compiling with a Static Library

在2010年视觉工作室编辑 wx 部件时, 我发现链接错误 。

msvcrt.lib(wcrtexew.obj) : error LNK2001: unresolved external symbol _wWinMain@16

问题在这里。 wx 部件的切入点是此宏 :

IMPLEMENT_APP(MyApp)

这意味着我不使用 wWinMain () 作为条目 。

我在编译(/NOENTERY)时尝试了取消切入点,但是没有骰子。 似乎没有什么能起作用, 因为如果我定义 winMain (), 那么 wx 部件就不会启动, 因为条目是 IMPLEMT_ APP 。

只有当我编译为静态时, 我才会收到这个错误。 如果我不编译为静态, 我就必须提供 DLLs: msvcp100d. dll 和 msvcr100d. dll 2008 Windows 服务器上的 MSvcr100d. dll (以及可能更多没有安装图书馆的旧版本的 Windows 上的 DLLs ) 。

现在我明白我又把调试库链接起来了, 但是如果我再把发布内容链接起来应该没关系, 因为我应该收到同样的错误( 未解析的外部符号 _wWinmain@ 16) 。

有解决办法吗?

最佳回答

首个 Wx 部件库( wx 部件@ uildmsw), 全部与您的工程中的设置相同 。 所以我启用了“ / MT ”, “ 在静态库中使用 MFC ”, 并将项目输出为“ 释放 ” 。 我编码的 wx 部件应用程序的同样设置 。

现在评论:

IMPLEMENT_APP(MyApp)

使用这个进入点 :

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE prevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
    char *buf;

    buf = new char[wcslen(lpCmdLine) + 1];

    wcstombs(buf, lpCmdLine, wcslen(lpCmdLine) +1);

    wxApp::SetInstance( new MyApp());

    wxEntry(hInstance, prevInstance, buf, nShowCmd);

    wxEntryCleanup();
}
问题回答

当您链接到静态图书馆时,您必须确保图书馆的构建与您用来构建应用程序代码的 EXACT SAME 参数相匹配。

所以: 查看图书馆建设和应用应用程序构建的所有编译选项, 并确保它们匹配。 另外, 确保应用程序构建与使用您匹配的配置建立的静态图书馆连接 。

这是一个麻烦! 您必须决定要解决这个问题, 或者在目标机器上安装正确的 DLL 的问题。 无论哪种方式, 您必须解决配置管理问题 。

在您的特殊问题中, 我看到链接器正在寻找 _wWinmain@16, 这表明您已经用打开的 Unicode 创建了您的应用程序代码, 但正在链接到一个非 Unicode 静态库 。

您是否有

IMPLING_APP( MyApp) (MyApp)

In a .cpp file? It is typically in the accompanying file to where IMPLING_APP( MyApp) (MyApp) is located.

我正在用 wx 部件作为静态库, 这就是我要编译的。

在我把我的工程字符设置改为 Unicode 之后, 我也有同样的问题。 我的工程使用多线调试 DLL (/MDd ) 。 除了为我工作的变通办法之外, 我还想找出造成问题的真正原因, 并使用 IMPLONT_APP

我将“MFC的使用”改为“标准视窗图书馆”,





相关问题
building .net applications without Visual Studio

I m interested to hear about people working with building .net applications using MSBuild, NAnt or similar tools. What are you using, why are you using it instead of the VS IDE? I like to use ...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Visual Studio 2010 Beta 2: Can I print in color?

I have to turn in a hard copy of some code with an assignment. Is there any way in Visual Studio 2010 to print C# source code with syntax highlighting? PS: The assignment is solving a math problem, ...

Set Select command in code

On button Click I want to Set the Select command of a Gridview. I do this and then databind the grid but it doesn t work. What am i doing wrong? protected void bttnView_Click(object sender, ...

WPF design-time context menu

I am trying to create a custom wpf control, I m wondering how I can add some design-time features. I ve googled and can t seem to get to my goal. So here s my simple question, how can I add an entry ...

热门标签