社区
Qualcomm 开发者论坛
帖子详情
VS2008编译mak文件出错
FF_Squall
2009-09-18 06:59:37
为什么出现这个错误,请高人指导指导,我是初学,非常感谢
Building c:\brew\sdk\examples\squall~1\squall~1 using C:\Brew\sdk\examples\squallapp\squallapp.mak
Error: 系统找不到指定的文件。
...全文
470
1
打赏
收藏
VS2008编译mak文件出错
为什么出现这个错误,请高人指导指导,我是初学,非常感谢 Building c:\brew\sdk\examples\squall~1\squall~1 using C:\Brew\sdk\examples\squallapp\squallapp.mak Error: 系统找不到指定的文件。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
半吊子全栈工匠
2009-09-21
打赏
举报
回复
路径设置不对,试试命令行操作吧
GNU libiconv-1.15和libintl-0.19.8.1,
VS
2017工程和
Mak
efile.
mak
命令行
编译
文件
GNU libiconv-1.15和libintl-0.19.8.1,
VS
2017工程和
Mak
efile.
mak
命令行
编译
文件
CSDN-tags: libiconv1.15 libintl-0.19.8.1
VS
2017 SDK17134.12 声明: 最新版,修正了relocatable.c
文件
中GetModuleFileName函数的问题。在ANSI下,等同于:GetModuleFileNameA;Unicode下等同于:GetModuleFileNameW,如果你的程序
出错
,请检查。 代码为本人良心制作,虽然花费了一定的时间和精力,但不保证完全没有错误。如果您下载并使用了本代码,将其包含在您发布的应用中,给您带来了经济上,心理上,生活上的损失,本人不负有责任。 所有代码都基于官网进行修改,iconv的代码来源于libiconv-1.15的lib目录,intl的代码来源于gettext-runtime的intl目录。 intl需要iconv的支持,如果想单独
编译
不需要iconv的intl, 请自行修改intl目录下的config.h
文件
, /* Define if you have the iconv() function and it works. */ #define HAVE_ICONV 1 /* Define to 1 if you have the header file. */ #define HAVE_ICONV_H 1 为: /* Define if you have the iconv() function and it works. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ 并修改
VS
工程中预处理器定义,删掉/DDEPENDS_ON_LIBICONV=1
VS
的工程为
VS
2017的工程
文件
,使用VC141工具集,SDK10.0.17134.12,如果没有2017,也可以用
Mak
efile.
mak
文件
来
编译
。 或者你自己降低版本,我最初使用的最低版本是VC140_xp,SDK7.1A,也就是
VS
2015默认安装的兼容xp工具集,
VS
2015以下版本未测试。 n
mak
e /f
Mak
efile.
mak
[DLL] [DEBUG] 指定 DLL=1
编译
dll版本,默认是lib版本,libiconv.lib , libintl.lib。 指定 DEBUG=1
编译
debug版本,默认是release版本。 同理,如果intl不需要iconv,请修改上面的配置
文件
选项,并, 删掉
Mak
efile.
mak
中/DDEPENDS_ON_LIBICONV=1 配置
文件
的制作,参考了以下几处,修改的大概原则是,能定义的全定义了,就这样: https://github.com/kahrl/gettext-msvc 这个地址提供了libiconv和libintl的
VS
工程和配置
文件
。 https://github.com/winlibs 为
编译
PHP而修改的libiconv和libintl源码。 附带的Cygwin目录中的工具 libiconv官方的制作文档,用cygwin配合VC,生成的配置
文件
。 一大堆的宏和函数搞得我头晕脑涨。所以配置
文件
如果有错误,也在所难免,所有修改的
文件
,如config.h,iconv.h,libintl.h都附带了原始
文件
。 如: 配置
文件
原始
文件
DLL原始
文件
LIB原始
文件
config.h config.h.in iconv.h iconv.h.build.in iconv.h.in localcharset.h localcharset.h.build.in localcharset.h.in libintl.h libgnuintl.in.h 欢迎同学们下载测试。有问题可以给我发邮件travel981cn@139.com
GNU libiconv-1.15和libintl-0.19.8.1,
VS
2015工程和
Mak
efile 命令行
编译
文件
GNU libiconv-1.15和libintl-0.19.8.1,
VS
2015工程和
Mak
efile 命令行
编译
文件
CSDN-tags: libiconv1.15 libintl 0.19.8.1
VS
2015
Mak
efile 声明: 代码为本人良心制作,虽然花费了一定的时间和精力,但不保证完全没有错误。如果您下载并使用了本代码,将其包含在您发布的应用中,给您带来了经济上,心理上,生活上的损失,本人不负有责任。 所有代码都基于官网进行修改,iconv的代码来源于libiconv-1.15的lib目录,intl的代码来源于gettext-runtime的intl目录。 intl需要iconv的支持,如果想单独
编译
不需要iconv的intl, 请自行修改intl目录下的config.h
文件
, /* Define if you have the iconv() function and it works. */ #define HAVE_ICONV 1 /* Define to 1 if you have the header file. */ #define HAVE_ICONV_H 1 为: /* Define if you have the iconv() function and it works. */ /* #undef HAVE_ICONV */ /* Define to 1 if you have the header file. */ /* #undef HAVE_ICONV_H */ 并修改
VS
工程中预处理器定义,删掉/DDEPENDS_ON_LIBICONV=1
VS
的工程为
VS
2015的工程
文件
,使用VC140工具集,如果没有2015,也可以用
Mak
efile.
mak
文件
来
编译
。 n
mak
e /f
Mak
efile.
mak
[DLL] [DEBUG] 指定 DLL=1
编译
dll版本,默认是lib版本,libiconv.lib , libintl.lib。 指定 DEBUG=1
编译
debug版本,默认是release版本。 同理,如果intl不需要iconv,请修改上面的配置
文件
选项,并, 删掉
Mak
efile.
mak
中/DDEPENDS_ON_LIBICONV=1 配置
文件
的制作,参考了以下几处,修改的大概原则是,能定义的全定义了,就这样: https://github.com/kahrl/gettext-msvc 这个地址提供了libiconv和libintl的
VS
工程和配置
文件
。 https://github.com/winlibs 为
编译
PHP而修改的libiconv和libintl源码,libiconv是最新1.15版本,gettext不是。 附带的Cygwin目录中的工具 libiconv官方的制作文档,用cygwin配合VC,生成的配置
文件
。 一大堆的宏和函数搞得我头晕脑涨。所以配置
文件
如果有错误,也在所难免,所有修改的
文件
,如config.h,iconv.h,libintl.h都附带了原始
文件
。 如: 配置
文件
原始
文件
DLL原始
文件
LIB原始
文件
config.h config.h.in iconv.h iconv.h.build.in iconv.h.in localcharset.h localcharset.h.build.in localcharset.h.in libgnuintl.h libgnuintl.in.h 欢迎同学们下载测试。有问题可以给我发邮件travel981cn@139.com
vc++
2008
express
编译
gvim 的方法
要5分,不多吧。授人以鱼不如授人以渔。以后我
编译
了就自己用,不再发布了,时间有点点不够用。网络也不是现成的。 有问题写邮件到 rubble@126.com 开始是用修改源
文件
的方法实现“使用任何字体”的功能的,后来发现打开一个
编译
选项就可以了。但是用 vc++
2008
express
编译
时,要注意修改一下 gui_w48.c,把里面的 #ifdef OPENFILENAME_SIZE_VERSION_400 /* be compatible with Windows NT 4.0 */ fileStruct.lStructSize = sizeof(OPENFILENAME_SIZE_VERSION_400); #else fileStruct.lStructSize = sizeof(fileStruct); #endif 这几行代码除了 fileStruct.lStructSize = sizeof(fileStruct); 这行外,全删除; 类似的代码,一共出现了两次,都要做一样的修改。
Mak
e_mvc.
mak
:修改后的适用于 vc++
2008
express 的
Mak
efile。用这个
Mak
efile
编译
,生成的可执行
文件
就可以使用任何字体了。 msvc
mak
e.bat:
编译
用的批处理脚本。该脚本自动配置
Mak
e_mvc.
mak
,并把最后生的可执行
文件
放到特定的目录里。可以修改这个
文件
来建立适合自己的目录。 使用方法: 1:安装 vc++
2008
express; 2:下载 gvim 的源代码;我下载的是以下三个
文件
: vim72lang.zip vim72rt.zip vim72src.zip 3:解压上面三个
文件
,目录也相应建好了;最好把 vim 目录建在分区的根目录下面; 4:把
Mak
e_mvc.
mak
和 msvc
mak
e.bat 复制到 vim\vim72\src 目录里。会存在一个同名的
Mak
e_mvc.
mak
,需要备份的话就备份一下,不需要备份,直接覆盖就可以; 5:双击 msvc
mak
e.bat 就可以
编译
。 6:如果不能
编译
,则启动[开始]菜单里的 vc++
2008
express 的命令行,然后,用 cd 命令进入 vim\vim72\src,再次运行 msvc
mak
e.bat;注意看错误提示,以解决问题; 7:需要
编译
进 python、ruby的朋友,请参考 vim72 源代码包里的
编译
说明; 8:你可能想打上最新的补定再
编译
,打补定的方法请参考 www.vim.org 上的说明。
openldap2.4.39 修正版,可用n
mak
e
编译
该包只限用于WINDOWS下
编译
PHP缺少LDAP相关依赖包时使用。只
编译
了liblber和libldap二个部分。 代码参考了https://github.com/winlibs/openldap中源码。但是,该源码中的工程
文件
中,预处理器的宏定义有错,不能正确生成dll版本。因此,我精简了该源码,并校正了其中的宏定义,编写了N
mak
e的
mak
efile
文件
。 修正http://download.csdn.net/detail/travel981cn/7152647资源的宏错误,虽然能正确
编译
出dll和lib,但是
编译
PHP时会提示err2string报错。CSDN不能删除已发布资源,因为只能重发。 请注意,libldap的dll,采用的liblber的静态库,因为你必须首先
编译
lib版本。使用如下命令: n
mak
e /f
mak
efile.
mak
n
mak
e /f
mak
efile.
mak
dll=1
转载:已
编译
好的openssh库
可以直接用别人做好的windows OpenSSL 安装包(我用的是0.9.8j版), 可以从 http://www.slproweb.com/products/Win32OpenSSL.html 下载 OpenSSL for Windows,直接安装。 P.S. OpenSSL for Windows 的源代码有一些数据类型和VC6的
编译
器不兼容,我发现的不兼容的数据类型如下: 在OpenSSL安装目录的下的include/bn.h
文件
中,将 #define BN_ULLONG unsigned long long #define BN_ULONG unsigned long long #define BN_LONG long long 分别修改为: #define BN_ULLONG ULONGLONG #define BN_ULONG ULONGLONG #define BN_LONG LONGLONG 否则,会出现
编译
错误。 二、使用OpenSSL 在VC中配置使用以上的函数库: 点击菜单:Tools -> Options,弹出对话框"Options",在该对话框中选择"Directories"标签。 在"Show directories for:"的"Include files"选项中新增目录"C:\openssl\include"; "Library files"选择中新增目录"C:\openssl\lib"。 然后在需要链接OpenSSL函数库的工程中加入如下两句: #pragma comment(lib, "ssleay32.lib") #pragma comment(lib, "libeay32.lib") 其作用是将OpenSSL所需的库导入工程中。 三、问题 我在链接OpenSSL的静态函数库时遇到类似以下的问题: Linking... msvcrt.lib(MSVCRT.dll) : error LNK2005: _strchr already defined in libcmtd.lib(strchr.obj) ... 这是由于OpenSSL的静态函数库使用的是了VC的多线程DLL的Release版本,而我的程序使用了多线程静态链接的Release版本。 调整OpenSSL的静态函数库使用的库函数版本即可,调整过程如下: 编辑
文件
ms\nt.
mak
,将该
文件
第19行 "CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE - D_CRT_NONSTDC_NO_DEPRECATE /Fdout32 -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_KRB5 - DOPENSSL_NO_DYNAMIC_ENGINE" 中的"/MD"修改为"/MT"。然后重新
编译
安装OpenSSL即可。 四、附录:在VC中对C/C++ 运行时库不同版本
编译
指令说明 《在VC中对C/C++ 运行时库不同版本
编译
指令说明》(http://blog.yesky.com/271/dgkang/1737771.shtml)一文中详细介绍了连接不同版本库的
编译
指令如下: C Runtime Library: /MD MSVCRT.LIB 多线程DLL的Release版本 /MDd MSVCRTD.LIB 多线程DLL的Debug版本 /MT LIBCMT.LIB 多线程静态链接的Release版本 /MTd LIBCMTD.LIB 多线程静态链接的Debug版本 /clr MSVCMRT.LIB 托管代码和非托管代码混合 /clr:pure MSVCURT.LIB 纯托管代码 C++ Standard Library: /MD MSVCPRT.LIB 多线程DLL的Release版本 /MDd MSVCPRTD.LIB 多线程DLL的Debug版本 /MT LIBCPMT.LIB 多线程静态链接的Release版本 /MTd LIBCPMTD.LIB 多线程静态链接的Debug版本
Qualcomm 开发者论坛
955
社区成员
5,251
社区内容
发帖
与我相关
我的任务
Qualcomm 开发者论坛
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
复制链接
扫一扫
分享
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能
物联网
机器学习
企业社区
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章