【发布时间】:2010-03-31 04:47:57
【问题描述】:
这是一个非常简单的 C 程序:
#include <stdio.h>
int main (int argc, char *argv[]) {
printf("sizeof(short) = %d\n",(int)sizeof(short));
printf("sizeof(int) = %d\n",(int)sizeof(int));
printf("sizeof(long) = %d\n",(int)sizeof(long));
printf("sizeof(long long) = %d\n",(int)sizeof(long long));
printf("sizeof(float) = %d\n",(int)sizeof(float));
printf("sizeof(double) = %d\n",(int)sizeof(double));
return 0;
}
虽然它在 Win32 上编译良好(命令行:cl main.c),但它不使用 Win64 编译器("c:\Program Files(x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\cl.exe" main.c)。具体来说,它是“错误 LNK2019:函数 main 中引用的未解析的外部符号 printf”。据我了解,它不能链接到printf,对吧?
显然,我已安装 Microsoft Visual C++ Compiler 2008 (Standard enu) x86 和 x64,并且正在使用 64 位版本的 Windows (7)。
这里有什么问题?
更新:
好的,现在我运行vcvarsall.bat amd64。它说“缺少指定的配置类型。可能未安装此配置的工具。”。如前所述,编译器明明装好了??
【问题讨论】:
标签: c visual-studio-2008 compiler-construction