我的C代码可以在另一台PC上进行编译和链接。我现在正在努力使所有内容都可以在Windows 7 64位OS上运行。该代码编译成一个没有错误的对象,但是当我使用/SYMBOLS在对象上运行dumpbin时,我收到了几个UNDEF消息。

0F9 00000000 UNDEF  notype       External     | __imp__sprintf
0FA 00000000 UNDEF  notype       External     | __imp__fclose
0FB 00000000 UNDEF  notype       External     | __imp__fopen
0FC 00000008 SECT3  notype       Static       | _i
0FD 00000000 UNDEF  notype ()    External     | _strcmp
0FE 00000000 UNDEF  notype       External     | __imp__setlocale
0FF 00000000 UNDEF  notype ()    External     | _strcpy
100 00000290 SECT5  notype ()    Static       | _f_read_common_fields
101 00000000 UNDEF  notype ()    External     | _memcpy
102 00000000 UNDEF  notype       External     | __imp__fread
103 00000000 UNDEF  notype ()    External     | _memset
104 00000000 UNDEF  notype       External     | ___security_cookie
105 00000000 UNDEF  notype ()    External     | @__security_check_cookie@4


似乎我只是在发送一条路径声明或其他内容,但找不到它。这是所有使用VS2005从命令行进行编译的外部代码(不在VS Project中)。

最佳答案

它看起来像一个链接器问题。我看到了您的编译行,但是链接行呢。我忘了想起标准c语言的VC库。

是msvcrt.lib吗?您是否将其包括在链接线上?

10-08 11:32