a very simple C program in Visual Studio 2005

解决VC++64位编译器printf链接错误
本文介绍了一个简单的C程序在使用VC++64位编译器时遇到的链接错误:未解析的外部符号printf。文中详细记录了错误现象,并通过逐步排查,包括设置编译环境等步骤,最终解决问题。

http://stackoverflow.com/questions/2548361/very-simple-c-program-wont-compile-with-vc-64

http://forums.nvidia.com/index.php?showtopic=65111&pid=398501&mode=threaded&show=&st=&

Here is a very simple C program:

#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;
}

While it compiles fine on Win32 (command line: cl main.c), it does not using the Win64 compiler ("c:\Program Files(x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\cl.exe" main.c). Specifically, it sais "error LNK2019: unresolved external symbol printf referenced in function main". As far as I understand this, it can not link to printf, right?

Obviously, I have Microsoft Visual C++ Compiler 2008 (Standard enu) x86 and x64 installed and am using the 64-bit flavor of Windows (7).

What is the problem here?

UPDATE:
OK, now I ran vcvarsall.bat amd64. It sais "The specified configuration type is missing. The tools for this configuration might not be installed.". As mentioned, the compiler clearly is installed??

 

 

(1)文件->新建->项目->Visual C++->Win32控制台应用程序
名称中输入项目的名称
确定->下一步->空项目->完成
(2)解决方案资源管理器 中 源文件 右击
添加->新建项->代码->C++文件(.cpp)
名称中输入 某某文件名.c 不要.cpp
添加
(3)项目->项目名 属性->C/C++->高级->编译为
选择 编译为C代码(/TC)
确定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值