导航
  • 主页
  • VC/MVC基础类
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC/MFC&Web
  • Doc/View
  • VC++技术资源

Hello2 error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用

microchu 2005-07-04 05:16:35
源程序如下:
//Hello2.cpp
#define STRICT
#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <tchar.h>
#include <assert.h>

void CenterText(HDC hDC, int x, int y, LPCTSTR szFace, LPCTSTR szMessage, int point)
{
HFONT hFont = CreateFont(
-point * GetDeviceCaps(hDC, LOGPIXELSY) / 72,
0, 0, 0, FW_BOLD, TRUE, FALSE, FALSE,
ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS,
PROOF_QUALITY, VARIABLE_PITCH, szFace);
assert(hFont);

HGDIOBJ hOld = SelectObject(hDC, hFont);
SetTextAlign(hDC, TA_CENTER | TA_BASELINE);

SetBkMode(hDC, TRANSPARENT);
SetTextColor(hDC, RGB(0, 0, 0xFF));
TextOut(hDC, x, y, szMessage,lstrlen(szMessage));
SelectObject(hDC,hOld);
DeleteObject(hFont);
}

const TCHAR szMessage[] = _T("Hello, world!");
const TCHAR szFace[] = _T("Times New Roman");

#pragma comment(linker, "-merge:.rdata=.txt")
#pragma comment(linker, "-align:512")

extern "C" void WinMainCRTStartup()
{
HDC hDC = GetDC(NULL);
assert(hDC);

CenterText(hDC, GetSystemMetrics(SM_CXSCREEN) / 2,
GetSystemMetrics(SM_CYSCREEN) / 2, szFace, szMessage, 72);

ReleaseDC(NULL,hDC);
ExitProcess(0);
}

程序是GDI编程的附书源码,原工程能正确链接,为什么完整拷贝过来之后,却不能链接了?
...全文
1081 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
microchu 2005-07-05
问题解决,还是缺少了连接库msvcrt.lib。
回复
oyljerry 2005-07-04
建console工程
回复
kugou123 2005-07-04
工程-->Setting-->Link

将/subsystem:windows 改为 /subsystem:console 即可
回复
皮皮鲁 2005-07-04
你建的工程不对

应该建立一个win32 console工程
回复
Zhymax 2005-07-04
设置以下运行库,win32 application 默认是debug single-threaded,改成
Debug MultiThreaded DLL;release也作相应更改

project->setting->c/c++->Code Generation->Use Run-time library : Debug MultiThreaded DLL
回复
newbiestar 2005-07-04
因为工程里面存在了某些编译选项提示编译器链接正确的库,但是你单独编译链接的话,少了这些设置的指导,当然就不行了(主要还是没有链接到正确的库)
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告