Tom*_*omO 6 c++ linker unresolved-external
我正在努力将大量的.h和.lib文件从本机C++包装到托管C++,最终用作C#中引用的.dll.
我已经链接了.lib文件,到目前为止一切顺利.在包装最新的.h文件时,当遇到链接错误的2个函数时,我遇到了麻烦:
error LNK2019: unresolved external symbol __imp__htonl@4 referenced in function
"public: void __thiscall Field::setCharacter(unsigned char,int)"
(?setCharacter@Field@@QAEXEH@Z) myutils.lib
Run Code Online (Sandbox Code Playgroud)
我myutils.lib在链接器选项中引用了,所以这不应该是问题.
奇怪的是,我在这个特定的.h文件中有大约20个函数,除了3个函数之外,所有其余函数都很好.
有任何想法吗?
缺少的符号是__imp__htonl@4htonl的C++错位名称,它是一个将长值从主机转换为网络顺序的函数.@ 4用于修改输入参数,是C++对重载函数的支持的一部分,允许链接器解析没有名称冲突的正确函数.
确保您链接到您引用此符号的网络库.据推测,你的包使用了这个符号的一些特殊定义,而不是它通常使用的MACRO.
| 归档时间: |
|
| 查看次数: |
10774 次 |
| 最近记录: |