none
"无法解析的外部符号",这个是不是改下这几个属性就行了。2012没找到对应的 RRS feed

  • 问题

  • 1>ass.obj : error LNK2019: 无法解析的外部符号 _pow10l,该符号在函数 _Scanasm 中被引用
    1>ass.obj : error LNK2001: 无法解析的外部符号 _ideal
    1>ass.obj : error LNK2019: 无法解析的外部符号 _ideal,该符号在函数 _DecodeC1 中被引用
    1>ass.obj : error LNK2001: 无法解析的外部符号 _sizesens
    1>ass.obj : error LNK2001: 无法解析的外部符号 _sizesens
    1>ass.obj : error LNK2001: 无法解析的外部符号 _lowercase
    1>ass.obj : error LNK2001: 无法解析的外部符号 _tabarguments
    1>ass.obj : error LNK2001: 无法解析的外部符号 _extraspace
    1>ass.obj : error LNK2001: 无法解析的外部符号 _putdefseg
    1>ass.obj : error LNK2001: 无法解析的外部符号 _showmemsize
    1>ass.obj : error LNK2001: 无法解析的外部符号 _shownear
    1>ass.obj : error LNK2001: 无法解析的外部符号 _shortstringcmds
    1>ass.obj : error LNK2001: 无法解析的外部符号 _symbolic
    1>ass.obj : error LNK2001: 无法解析的外部符号 _farcalls
    1>ass.obj : error LNK2001: 无法解析的外部符号 _decodevxd
    1>ass.obj : error LNK2001: 无法解析的外部符号 _privileged
    1>ass.obj : error LNK2001: 无法解析的外部符号 _iocommand
    1>ass.obj : error LNK2001: 无法解析的外部符号 _badshift
    1>ass.obj : error LNK2001: 无法解析的外部符号 _extraprefix
    1>ass.obj : error LNK2001: 无法解析的外部符号 _lockedbus
    1>ass.obj : error LNK2001: 无法解析的外部符号 _stackalign
    1>ass.obj : error LNK2001: 无法解析的外部符号 _iswindowsnt
    1>F:\Visual Studio 2012\Projects\TestCmd\Debug\TestCmd.exe : fatal error LNK1120: 20 个无法解析的外部命令

    这些在头文件里有,也都是定义成了unique int  

    我搜了一下,说改这几个属性就行了。这个对吗?

    (这是6.0的,在2012里对应的是哪两个啊。看了半天没找出来)

    [Project] --> [Settings] --> 选择"C/C++"属性页, ')
    在Category中选择Code Generation,
    再在Use run-time library中选择Debug Multithreaded或者multithreaded

    (昨天在别地儿问了,没人理,哎)


    • 已编辑 angel725 2013年2月19日 4:51
    2013年2月19日 4:50

答案

  • (这是6.0的,在2012里对应的是哪两个啊。看了半天没找出来)

    [Project] --> [Settings] --> 选择"C/C++"属性页, ')
    在Category中选择Code Generation,
    再在Use run-time library中选择Debug Multithreaded或者multithreaded

    你好,

    LNK2001是链接错误,虽然你在头文件里找得到这些符号的定义,但是链接到相应的库文件失败。

    在Visual Studio 2012中对应的选项在Project->Properties->Configuration Properties->C\C++->Code Generation->Runtime Library,但是修改这个选项不能解决你的问题,因为运行时库(Runtime Library)与你列举的这些符号无关。

    你列举的这些符号不是Visual C++的C标准库定义的,Visual C++不支持这些。


    Damon Zheng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年2月21日 17:19
    版主

全部回复

  • (这是6.0的,在2012里对应的是哪两个啊。看了半天没找出来)

    [Project] --> [Settings] --> 选择"C/C++"属性页, ')
    在Category中选择Code Generation,
    再在Use run-time library中选择Debug Multithreaded或者multithreaded

    你好,

    LNK2001是链接错误,虽然你在头文件里找得到这些符号的定义,但是链接到相应的库文件失败。

    在Visual Studio 2012中对应的选项在Project->Properties->Configuration Properties->C\C++->Code Generation->Runtime Library,但是修改这个选项不能解决你的问题,因为运行时库(Runtime Library)与你列举的这些符号无关。

    你列举的这些符号不是Visual C++的C标准库定义的,Visual C++不支持这些。


    Damon Zheng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年2月21日 17:19
    版主
  • 这些符号看起来是C的,你要是用C++程序调用C的库记得加上 extern "C"

    另外一个可能,就是只有头文件定义的符号入口却没有符号的具体代码或者库文件。


    0xDEADBEEF

    2013年2月22日 2:32
    版主
  • 这个工具(vs2008编译的)是作者开放了源码,,里面用一个外国人写的一个开源的算法。

    在他人工程里编译正常。

    我的程序用这个源码就不行。

    我把他的工程里的拷到我的工程里,也是这错误。

    但在他的里面就正常。。。

    不明白。。。

    2013年3月1日 15:40
  • 你看看这个外国人的工程里是否用到了什么库文件,而你的工程没有用到。

    你也可以把这个开源的工具上传到Skydrive:https://skydrive.live.com/ 这样大家可以帮你看看这个工具的具体情况。


    Damon Zheng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月4日 7:45
    版主