导航:首页 > 程序命令 > 1个无法解析的外部命令

1个无法解析的外部命令

发布时间:2022-04-15 06:13:29

Ⅰ C语言中显示无法解析的外部命令

这是因为c和c++混编带来的问题。

1,问题根源:c++是支持类和名字空间,函数重载等高级技巧的。以函数重载为例:

int Add(int a, int b)

int Add(int a, int b, int c)

这意味着不同的函数有同样的名字(你写的,都叫Add),但是同样的名字会带来混淆,所以使用了一种叫“名字毁坏”的技术,不同的编译器有不同的毁坏规则,只要能实现区分就好。

所以,经过c++编译器的处理,你的Add名字已经面目全非,比如我这里叫:

错误 LNK2019 无法解析的外部符号 "int __fastcall Add(int,int)" (?Add@@YIHHH@Z),函数 _main 中引用了该符号。

到这,都没什么,只不过名字变了一下,只要编译器能处理正确就好。

但是,重点来了,你放了一个c文件进去,c语言,是不支持这些高级玩意儿的,名字也不会毁坏,这样,一个毁坏一个还是原名,得,两下对不上了。

2,解决办法

解决办法也是模式化的,当你声明的变量或者函数在c文件实现的时候,在h文件里声明的时候,用这样的结构包含起来,无论有多少个函数,都可以放在一起。

#ifdef __cplusplus

extern "C" {

#endif

int Add(int, int);

//其他声明

#ifdef __cplusplus

}

#endif

再编译就不会出现Link错误了。

头文件全文如下:

#pragma once

#ifdef __cplusplus

extern "C" {

#endif

int Add(int, int);

#ifdef __cplusplus

}

#endif

Ⅱ 1 个无法解析的外部命令

没细看你的程序,至少main()函数就有好几个问题 1、函数里面不能有 int (double,double,double)这样的其他函数的声明,应该放在函数外部,除了main()

Ⅲ c++无法解析的外部命令

函数就是 void main() 写错了,是void main()不是void mian(),如果不是主函数就是没有添加相应的头文件。

1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用。

这句话的意思是void mian()函数在某个类中,没有添加累的头文件。

(3)1个无法解析的外部命令扩展阅读:

注意事项

1、在调用外部库的时候,出现这种问题,可能就是库调用的方式不对,在QT中调用的时候,可以在.pro文件中加入库,或者可以在头文件中使用

#pragma comment(lib, “HITP450.lib”);

2、排除了这种问题,接下来就有可能调用了没有进行声明的函数,检查一下是否在头文件中进行定义。

3、配置属性-常规-mfc的使用,选择为使用标准Windows库,或者选择在静态库中使用mfc,并且在程序中添加 #pragma comment (lib,"Advapi32.lib") 或者在项目-属性-链接器-输入-附加依赖项 中添加相应的库名字,但是该库的文件路径最好跟当前项目的路径是一样的,否则需要在项目-属性-vc++目录-库目录 里面加上该库的目录,否则找不到该库

4、重要一定要确定好,lib的位数和编译器的位数选择是一致的。

Ⅳ C++出现 1 个无法解析的外部命令

新建项目的时候应该选控制台程序,而不是Windows程序,windows程序的入口点是winmain,控制台的是main

Ⅳ fatal error LNK1120: 1 个无法解析的外部命令

>AccountDlg.obj : error LNK2001: 无法解析的外部符号 "protected: virtual struct AFX_MSGMAP const * __thiscall CAccountDlg::GetMessageMap(void)const " (?GetMessageMap@CAccountDlg@@MBEPBUAFX_MSGMAP@@XZ)
1>E:\code\linphone\Debug\linphone.exe : fatal error LNK1120: 1 个无法解析的外部命令

Ⅵ error LNK1120: 1 个无法解析的外部命令 错误 1 error LNK2019: 无法解析的外部符号

重新给你调整了一下,运行通过

#include <stdio.h>
int maxmin(float *array_number, unsigned n, float *max, float *min)
{
unsigned i = 0;
for (i = 0; i<n; ++i)
{
if (*max<*(array_number + i))
{
*max = *(array_number + i);
}
if (*min>*(array_number + i))
{
*min = *(array_number + i);
}
}

return 0;
}

int input(float* array_number, unsigned n)
{
printf("输入这个数组【10】:\n");
unsigned i = 0;
for (i = 0; i < n; ++i)
{
int d;
scanf("%d", &d);
*(array_number+i) = d;
}

return 0;
}
int average(float *array_number, unsigned n, float*aver)
{
float sum = 0.0f;
unsigned i = 0;
for (i = 0; i < n; ++i)
{
sum += *(array_number+i);
}
*aver = (float)sum / 10;

return 0;
}

int main(void)
{
float date[10] = {01};
float aver = 0.0f, max = -100000.0f, min = 100000.0f;

input(date, 10);
average(date, 10, &aver);
maxmin(date, 10, &max, &min);

printf("aver=%f", aver);
printf("max=%f,min=%f", max, min);

return 0;
}

Ⅶ vs2010 error:1个无法解析的外部命令

1)friend Typep Knapsack(Typep * ,Typew * ,Typew,int);
定义错误,这么不包含 Knap<Typep ,Typew >类型的参数,不能为类Knap<Typep ,Typew >的友元函数
class Object{
2) friend int Knapsack(int *,int *,int,int);
这个函数也不能是类不能为,类 Object友元函数。
所以类型template<class Typew,class Typep>
class Knap和类型class Object没有定义,编译不能通过;
所以 函数模板template<class Typew,class Typep>
Typep Knapsack(Typep p[],Typew w[],Typew c,int n) 编译不能通过;
所以
函数
int __cdecl Knapsack(int *,int *,int,int)" (?Knapsack@@YAHPAH0HH@Z)没有定义。
即main 内部的函数调用
int bestp = Knapsack(p,w,c,n);不能编译通过,所以链接不了,出错了。

Ⅷ c++, fatal error LNK1120: 1 个无法解析的外部命令

将ShowStr(const string &a)的实现写在main函数前面,同时去掉void ShowStr(const string&a)这个函数申明。

Ⅸ 错误 2 error LNK1120: 1 个无法解析的外部命令

错误2error LNK1120: 1个无法解析的外部命令,是设置错误造成的,解决方法如下:

1、首先用FlashFXP或其它工具连接,打开网站根目录,htdocs-data文件夹中找到common.inc.php文件,下载到本地。

Ⅹ C++ fatal error LNK1120: 1 个无法解析的外部命令

定义在源文件a中;
1、检查源文件a是否有参与链接(如果不是命令行方式编译的话,无视这一条应该没事
2、检查源文件a中关于put_message的定义,是否完全与声明一致(函数名、返回类型、参数类型

阅读全文

与1个无法解析的外部命令相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:578
python员工信息登记表 浏览:376
高中美术pdf 浏览:160
java实现排列 浏览:512
javavector的用法 浏览:981
osi实现加密的三层 浏览:231
大众宝来原厂中控如何安装app 浏览:913
linux内核根文件系统 浏览:242
3d的命令面板不见了 浏览:525
武汉理工大学服务器ip地址 浏览:148
亚马逊云服务器登录 浏览:524
安卓手机如何进行文件处理 浏览:70
mysql执行系统命令 浏览:929
php支持curlhttps 浏览:142
新预算法责任 浏览:443
服务器如何处理5万人同时在线 浏览:250
哈夫曼编码数据压缩 浏览:424
锁定服务器是什么意思 浏览:383
场景检测算法 浏览:616
解压手机软件触屏 浏览:348