首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 有关问题小记

2012-11-11 
C++ 问题小记以前都是搞java的,C++荒废了好几年。这几天需要用java调dll,所以也多多少少复习了一下C++。本文

C++ 问题小记

以前都是搞java的,C++荒废了好几年。这几天需要用java调dll,所以也多多少少复习了一下C++。

本文记一下遇到的小问题,今后用到可以查一下。

?

1,手动使用cl命令编译cpp,出现“fatal error C1034: XXX.h: no include path set”问题

问题解析:出现这种no include问题,一般是因为没有设置INCLUDE环境变量问题导致的。编译器不知道去哪里寻找include的文件,所以必须设置INCLUDE环境变量。

解决:“我的电脑”->"属性"->"高级"->"环境变量"->"系统环境变量"->新建一个环境变量“INCLUDE”,值为:“C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE”(具体看你VC的安装路径了,我装的是VC6.0),之后手动使用“cl /c ”命令编译就不会出现上述问题了。

?

ps:顺路也可以添加LIB环境变量,值为“C:\Program Files\Microsoft Visual Studio\VC98\LIB;C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB”(设置这个是为了让连接器linker在连接阶段知道本地库lib的位置)

?

2,.NET 手动组册COM组件,出现提示regasm不是内部程序的错误,这时候可以将regasm所在目录添加到环境变量path后面去(加之前先添加分号";"),regasm路径:“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”。这下可以找到regasm程序了。

但是组册却出现下面的错误:“RegAsm : error RA0000 : “(路径)\XXX.dll”不是有效的 .NET 程序集,因此未能加载它”?。

查找资料后才发现,是.NET Framework的版本没有找对,我的是4.0版本的,所以要选4.0对应的目录,回到“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”的上一级目录,找到4.0的目录:“C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319”,修改了path,再运行命令,OK了(大家伙选自己对应的.NET FrameWork的版本目录就可以了)

?

?

3,string 转 cstring 出现乱码

?

 string msg("test");CString tempM(msg.c_str());

?这样更简单。

?

?

?

4,VS2010中?Active X control test container已经不是像VC6.0中一样作为一个附件程序了,而是作为一个案例sample,位置在Microsoft Visual Studio 10.0\Samples\1033\VC2010Samples.zip\C++\MFC\ole\TstCon

热点排行