龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

vc中的使用技巧和常见错误(4)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
问题1: Linking... nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex libcd.li

问题1:
Linking...
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
    nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
    libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

    VC++默认的工程设置是单线程的,而你使用了多线程,所以要修改设置。选择菜单“Project|settings”,选择C/C++标签,在CODE

GENERATION分类中选择除SINGLE-THREADED的其他选择。

   比如可以在Use run-time library中选择Debug Multithreaded或者multithreaded
其中,
Single-Threaded                单线程静态链接库(release版本)
Multithreaded                  多线程静态链接库(release版本)
multithreaded DLL              多线程动态链接库(release版本)
Debug Single-Threaded          单线程静态链接库(debug版本)
Debug Multithreaded            多线程静态链接库(debug版本)
Debug Multithreaded DLL        多线程动态链接库(debug版本)
单线程: 不需要多线程调用时, 多用在DOS环境下
多线程: 可以并发运行
静态库: 直接将库与程序Link, 可以脱离MFC库运行
动态库: 需要相应的DLL动态库, 程序才能运行
release版本: 正式发布时使用
debug版本: 调试阶段使用

问题2

fatal error C1010: unexpected end of file while looking for precompiled header directive该如何解

    如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从

Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定
    如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#include "stdafx.h"语句,没有的话添加。
    如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下

问题3:

编译产生c1.exe什么原因?

编译器的问题

可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很

多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在

“VC根目录VC98Bin”下面,你可以到相应的路径下找到这个应用程序。.2404633

因此问题可以按照以下方法解决:点击VC“TOOLS(工具)”―>“Option(选择)”―>“Directories(目录)”重新设置“Excutable Fils

、Include Files、Library Files、Source Files”的路径。很多情况可能就一个盘符的不同(例如你的VC装在C,但是这些路径全部在D),

改过来就OK了。

精彩图集

赞助商链接