DiredtX Error:2001 错误今年是什么年意思

1278人阅读
出现如下问题:
error LNK2005: &void __cdecl operator delete(void *)& (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj)
uafxcwd.lib
error LNK2001: unresolved external symbol ___wargv
uafxcwd.lib
error LNK2001: unresolved external symbol ___argc
uafxcwd.lib
fatal error LNK1120: 2 unresolved externals
错误1的解决办法:
网友的提示:
CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。&
出现以上错误可能是由于链接顺序不一致造成的。
处理方法:
1.在项目的每个头文件中加入“#pragma once&使之只编译一次以防出现重复定义错误。
2.在项目的每个源文件中加入&#include &stdafx.h&使之按照正确的顺序编译。
错误1,本人看了上面的提示,认定我的问题是出在头文件多次包含导致的,后来我把一下
#include &stdlib.h&
#include &afxwin.h&
#include &Windows.h&
放到stdafx.h 这个文件里,避免多次包含
错误2,3的本人解放办法:
Project-&Properties-&Configuration properties-&c/c++-&code generation-&Runtime library&&
选择&Multi-threaded (/MT)
2,3错误是由于库的问题导致的
补充知识:
#pragma once
  #pragma once
  这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次
  #pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。
  #pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。
  #ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式
  #pragma
  语言符号字符串是给出特有编译器指令和参量的字符序列。数字符号(#)必须是包含编译指示行中的第一个非空白字符。空白字符可分开数字符号(#)和单词pragma。
  作用:
  为了避免同一个文件被include多次
  1 #ifndef方式
  2 #pragma once方式
  在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。
  方式一:
  #ifndef __SOMEFILE_H__
  #define __SOMEFILE_H__
  ... ... // 一些声明语句
  #endif
  方式二:
  #pragma once
  ... ... // 一些声明语句
  #ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心“撞车”,可能就会导致头文件明明存在,编译器却硬说找不到声明的状况
  #pragma once则由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。带来的好处是,你不必再费劲想个宏名了,当然也就不会出现宏名碰撞引发的奇怪问题。对应的缺点就是如果某个头文件有多份拷贝,本方法不能保证他们不被重复包含。当然,相比宏名碰撞引发的“找不到声明”的问题,重复包含更容易被发现并修正。
  方式一由语言支持所以移植性好,方式二 可以避免名字冲突
  #pragma once方式产生于#ifndef之后,因此很多人可能甚至没有听说过。目前看来#ifndef更受到推崇。因为#ifndef受语言天生的支持,不受编译器的任何限制;而#pragma once方式却不受一些较老版本的编译器支持,换言之,它的兼容性不够好。也许,再过几年等旧的编译器死绝了,这就不是什么问题了。
  我还看到一种用法是把两者放在一起的:
  #pragma once
  #ifndef __SOMEFILE_H__
  #define __SOMEFILE_H__
  ... ... // 一些声明语句
  #endif
  看起来似乎是想兼有两者的优点。不过只要使用了#ifndef就会有宏名冲突的危险,所以混用两种方法似乎不能带来更多的好处,倒是会让一些不熟悉的人感到困惑。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:31819次
排名:千里之外
原创:38篇
评论:12条
(1)(3)(3)(2)(1)(2)(5)(1)(1)(2)(1)(1)(1)(13)(6)(3)在fortran中,fatal error LNK1120 :1 unresolved externals是什么意思?导致这种错误的原因有哪些?_百度知道
在fortran中,fatal error LNK1120 :1 unresolved externals是什么意思?导致这种错误的原因有哪些?
error LNK2001:unsolved external symbol_BCD@36也不懂,求高手解答啊
我有更好的答案
按默认排序
你的程序里面没有定义BCD这个函数,或者数组,你试着在调用的子例行程序或主程序中定义下。希望能对你有帮助!
谢谢,还想请教一个问题,我的变异已经没有错误了,但在运行的时候出现了:preloaded symbols may not match'F:\fortran\fea3d~\fea3d~1\p1.exe'.请问是这是什么意思,是哪里出现了问题?
这是由于编译路径出现问题导致的。你的文件保存路径是不是不太对?看你的.exe存放的地方文件夹名很奇怪啥,一般默认英文路径,试试如此保存你所写的程序,F:\fortran\projects\fea3d\p1.exe尽量不出现~这样的符号,写好的程序直接放在projects文件里。注明:我用的是fortran 4.0版本,存在这个projects,找找你的,这是默认的编译路径
参考资料:
fortran77语言结构化程序设计--谭浩强,田淑清
其他类似问题
fortran的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VC6 编译错误error LNK2001: unresolved external symbol &public: virtual struct_百度知道
VC6 编译错误error LNK2001: unresolved external symbol &public: virtual struct
&#47, if (m_pBits)
delete[] m_pBits, BOOL Draw(CDC* pDC, implementation of the CDib class,ComputeMetrics(){ if(m_lpbmih-&gt,GetRuntimeClass(void)const &quot,, m_lpbmih = NULL, public CObject
{public, !defined(AFX_DIB1_H__2C05849B_CCF5_473F_BBE6___INCLUDED_)&#47,Read(CFile *pFile){省略 }BOOL CDib, unresolved external symbol &quot, if (m_lpbmih)
delete[] m_lpbmih,&#47,,
DECLARE_SERIAL(CDib) private,&#47,}void CDib,#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__,&#47, BOOL Draw(CDC* pDC,h&quot,&#47,信息头指针 LPBITMAPFILEHEADER m_bmfh, Construction&#47,&#47, else
return false,biWidth * m_lpbmih-&gt,&#47,则重新计算 if(m_dwSizeImage == 0) {
DWORD dwBytes = ((DWORD) m_lpbmih-&gt,~CDib(){ Clear(), CSize GetDibSaveDim(),,&#47,
throw new CException,), 如果图象数据内存大小为0, void ComputeMetrics(), CPoint point,Save(CFile *pFile){ 省}void CDib, Dib1, CSize size,&#47, CPoint spoint, 设置DIB中的调色板指针 m_lpvColorTable = (LPBYTE) m_lpbmih + sizeof(BITMAPINFOHEADER), virtual ~CDib(),DestructionCDib, _MSC_VER &gt,&#47,#include &quot,h,#if !defined(AFX_DIB1_H__2C05849B_CCF5_473F_BBE6___INCLUDED_)#define AFX_DIB1_H__2C05849B_CCF5_473F_BBE6___INCLUDED_#if _MSC_VER &gt,,
if(((DWORD) m_lpbmih-&gt, }BOOL CDib, BOOL Read(CFile* pFile), CSize size),位图color表指针 LPBITMAPINFOHEADER m_lpbmih, Dib1,位图数据的字节数 LPBYTE m_pBits,}CDib,IsEmpty(){ if(m_lpbmih == NULL && m_pBits == NULL)
return true,&#47,我在工程中建了一个类, virtual struct CRuntimeClass * __thiscall CDib,Clear(){ if(m_bmfh)
delete[] m_bmfh,cpp, error LNK2001,biWidth * m_lpbmih-&gt,#endif &#47,,位图数据指针 LPVOID m_lpvColorTable,h&quot,&#47, DWORD m_dwSizeImage,
dwBytes *= 4,biBitCount) &#47, 32 * 4)class CDib ,&#47,&#47,stdafx,2 bitmap&#92,
BOOL Save(CFile *pFile),CSize ssize),#include &quot, 1000#pragma once#endif &#47,,&#47,
m_dwSizeImage = dwBytes * m_lpbmih-&gt, void Clear(),文件头指针 CDib(),&#47,},然后就出现了编译错误Dib1, BOOL IsEmpty(),#define new DEBUG_NEW#endif&#47,}BOOL CDib,,,biBitCount) % 32) {
dwBytes++, CPoint point, 32, 1000#define WIDTHBYTES(bits)
(((bits) + 31) &#47,Not a valid Windows bitmap -- probably an OS&#47, interface for the CDib class,biSizeImage,public,},GetRuntimeClass@CDib@@UBEPAUCRuntimeClass@@XZ)程序如下&#47,
} &#47, (, } &#47,n&quot,&#47,biSize != sizeof(BITMAPINFOHEADER)) {
TRACE(&quot, m_pBits = NULL,biHeight,Dib1,CDib(){ m_bmfh=NULL,obj , 保存图象数据内存大小到CDib对象的数据成员中 m_dwSizeImage = m_lpbmih-&gt,&#47, &#47,
重新开过也不好使呀,我看了一下都类添进去了呀,褂忻挥斜鸬姆椒ㄑ健P恍,
提问者采纳
把那个新建的类重新加入到工程中,就可以了**********************************如果不是这样的,看下工程中有没你新建的那个类的名字,应该就可以了,在树形目录中找这个错误是没有找到相应的资源才产生的,把工程关闭重新打开,
其他类似问题
按默认排序
其他1条回答
我也遇到过这样的问题,我的是把CDib1,,h里的DECLARE_DYNCREATE(CDib1))删掉就好了。希望对你有帮助,
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁什么意思:error LNK2001: unresolved external symbol __afxForceEXCLUDE
[问题点数:80分,结帖人quengzi]
什么意思:error LNK2001: unresolved external symbol __afxForceEXCLUDE
[问题点数:80分,结帖人quengzi]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。请教大家这个是什么意思啊?请大家指教CppTest.obj : error LNK2001: unresolved external symbol &public: virtual __thiscall CppDyer
[问题点数:80分,结帖人besthyq]
请教大家这个是什么意思啊?请大家指教CppTest.obj : error LNK2001: unresolved external symbol &public: virtual __thiscall CppDyer
[问题点数:80分,结帖人besthyq]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 yy是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信