找回密码
 注册
Simdroid-非首页
查看: 133|回复: 2

【讨论】strstream.h是什么头文件哪

[复制链接]
发表于 2004-1-2 09:50:23 | 显示全部楼层 |阅读模式 来自 北京
利用console application生成了一个嵌有matlab代码的工程,可是在编译时出现了  
c:\matlab6p5\extern\include\cpp\matmtxif.h(31) : fatal error C1083: Cannot ope  
n include file: 'strstream.h': No such file or directory  
Error executing cl.exe.  
这是怎么回事,环境设置没有问题,利用mfc就不会出现这种问题。请大侠们帮忙

相关帖子

发表于 2004-1-2 12:54:55 | 显示全部楼层 来自 天津

回复: 【讨论】strstream.h是什么头文件哪

Simdroid开发平台
我也遇到过这种问题,用console Application可以选支持MFC的那种.
发表于 2008-9-4 21:32:38 | 显示全部楼层 来自 江苏镇江

一般在编译release时出现,不要在忽略库添加 msvcrt.lib

实验总结:
    这个问题一般在release模式下编译时出现,不要在忽略库添加 msvcrt.lib即可编译通过。
    如果您曾经参考了论坛中的“【转帖】总结:m文件转化为c/c++语言文件,VC编译”
    如果您按照参考贴中的第3步的工程设置,在link选项卡的category下拉input项设置中的忽略库(ignore library)添加了msvcrt.lib,那么你在debug情况下调试时可以通过编译,但是如果切换到release模式,使用mfc动态连接库时则会出错,把这个msvcrt.lib去掉后,在debug模式和release模式都可以调试通过.

    经过查阅资料得到以下知识,希望对大家有用。忽略指定库msvcrt.lib是因为某些动态链接库和静态链接库会发生冲突(重复定义)问题.
例如:
LibC.lib 是静态链接, 运行不需要 msvcrt.dll 或其他 C Runtime DLL.
而 msvcrt.lib 是动态链接, 所以不能加载到一起。


    在调试时出现如下问题时根据需要忽略某些发生冲突的库。

链接时出现:LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit 已经在 MSVCRTD.lib(MSVCR71D.dll)
中定义 等类似错误。

参考网址:
http://www.cppblog.com/bidepan2023/archive/2007/06/30/27269.html
http://bbs.et8.net/bbs/archive/index.php/t-354304.html

***********结论*********************

   在release模式时,如果选择动态连接库,不能忽略msvcrt.lib。
   在release模式时,选择静态链接库,则必须把msvcrt.lib 动态链接忽略掉,否则出错。

    一般我们使用release模式,都是为了产生独立应用程序,因此,肯定是使用静态链接库,因此,还是说需要把msvcrt.lib添加到忽略库的。
   


附录:选择动态还是静态连接库的方法:

选择:“project/setting”,在"General"页面的"Microsoft Foundation Classes"里面下拉选择"Use

MFC in a Static Library"或者"Use MFC in a Shared Dll"。

*************************************

最后总结:
在release模式时,如果选择动态连接库,不能忽略msvcrt.lib。
在release模式时,选择静态链接库,则必须把msvcrt.lib 动态链接忽略掉,否则出错。




[ 本帖最后由 lyzero0 于 2008-9-5 10:44 编辑 ]

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 21:20 , Processed in 0.036784 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表