处理--->错误 error LNK2019: 无法解析的外部符号"~~~~" | 该符号"~~~"在函数 _main 中被引用
--------------------------------------------------------------------------------------------------------------------------------
先吐会儿槽:妹夫的!正在学习数据结构(C语言描述),原以为可以不用那VC6++丑陋无能的IDE了,这回改用VS觉得舒服多了,不多还是遇到了不小磕磕碰碰的,有点恼人。
--------------------------------------------------------------------------------------------------------------------------------
其实C语言的运行编译机制偶不是很懂。
这两天要求写个数据结构作业,为达到接口与实现分离,要求结构如下:
LinkList.h 包含链表结构及操作方法的声明
LinkList.c 包含链表操作方法的详细
main.c 主函数文件,包含针对链表操作的方法
--------------------------------------------------------------------------------------------------------------------------------
内部代码略过不贴....
main.c 里include "LinkList.h"
LinkList.c 里因为需要引用链表,也include "LinkList.h"
--------------------------------------------------------------------------------------------------------------------------------
C语言的编译过程参考这里,http://mcuos.com/thread-3793-1-1.html
大概的编译过程就上面的四个过程:预编译、编译、汇编、链接。
所以这里的“错误 error LNK2019 ”就出在链接过程吧。
总是main函数里找到了函数声明,却没找到函数的定义。
奶奶的,这年头谷歌总是失灵,度娘果真不给力。查了大半天都没头绪。
真二,后来改文件名就OK了。
LinkList.c-->-改成"LinkList.cpp"
main.c--->改成"main.cpp"
编译通过~!
--------------------------------------------------------------------------------------------------------------------------------
参考别人的方法都不见效哦。比如这几个:
方法一 更改项目属性
右键项目“属性”--》“配置属性”--》“链接器”--》“系统”--》将“子系统”改为“Windows(/SUBSYS:WINDOWS)”
方法二 在头文件中加入语句#pragma comment( lib, "ws2_32.lib" ) 来显式加载。
即:
#include <winsock2.h>
#pragma comment(lib, "WS2_32")
--------------------------------------------------------------------------------------------------------------------------------