Windows下编译Mongoose的hello.c

     2023-03-30     139

关键词:

【中文标题】Windows下编译Mongoose的hello.c【英文标题】:Compiling Mongoose's hello.c under Windows 【发布时间】:2013-03-20 11:48:43 【问题描述】:

我正在尝试在 Windows 下从 Mongoose 编译包含的 hello.c 示例。我正在使用 Microsoft Visual 命令提示符,并且已将 mongoose.c 和 mongoose.h 复制到与 hello.c 示例相同的目录中。

当我写“cl hello.c”时,我得到以下输出/错误:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

hello.c
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hello.exe
hello.obj
hello.obj : error LNK2019: unresolved external symbol _mg_stop referenced in function _main
hello.obj : error LNK2019: unresolved external symbol _mg_start referenced in function _main
hello.obj : error LNK2019: unresolved external symbol _mg_printf referenced in function _begin_request_handler
hello.obj : error LNK2019: unresolved external symbol _snprintf referenced in function _begin_request_handler
hello.obj : error LNK2019: unresolved external symbol _mg_get_request_info referenced in function _begin_request_handler

hello.exe : fatal error LNK1120: 5 unresolved externals

示例中包含Makefile,我尝试使用 Makefile 进行构建,但不明白如何执行此操作。如果我尝试“nmake hello.exe”。我得到以下输出/错误:

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -W -Wall -I.. -pthread -g hello.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

cl : Command line error D8004 : '/W' requires an argument
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

编辑 我还尝试按照user manual 中的说明进行编译,在 Windows 上应转换为“cl hello.c mongoose.c -o hello.exe”,但随后出现以下错误消息:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
hello.c
mongoose.c
Generating Code...
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hello.exe
/out:hello.exe
hello.obj
mongoose.obj
hello.obj : error LNK2019: unresolved external symbol _snprintf referenced in function _begin_request_handler
hello.exe : fatal error LNK1120: 1 unresolved externals

是否有人对在 Windows 下为 Mongoose 编译 hello.c 示例需要采取哪些步骤提出建议?

【问题讨论】:

【参考方案1】:

我发现上面第三次尝试的问题是在 Visual Studio 10 使用的 C 版本中,“_snprintf”已被弃用并替换为“_snprintf_s”。因此,我用 _snprintf_s 替换了“_snprintf”的一次出现并且成功了。

【讨论】:

【参考方案2】:

您似乎没有为 mongoose 指定与库(DLL,无论它实际上是什么)的链接。这就是为什么你有未解决的外部因素。它需要知道在哪里可以找到它们,以便可执行文件可以在运行时找到它们(如果它是动态链接的)或将代码包含在 .exe 中(如果是静态完成的)。

【讨论】:

利用文本编辑器输入hello.java,并在jdk环境下编译和运行。请将程序编译运行的结果

  查看详情

qt在windows下编译遇到的一些问题

软件是在linux上写的,然而搬到windows上来遇到了好多问题。。。。想跪。。。。 首先就是压根编译不了的问题。。。。这个问题困扰我好久了。。。。一直报错undefinedreferencetoRInside和deplicatesection....如贴:http://www.qter.org/forum... 查看详情

windows下编译iconv

从http://www.gnu.org/software/libiconv/ 下载 libiconv-1.11.1,这是最后一个支持MSVC编译的版本。编译64位Lib命令行cmd执行amd64位脚本,D:ProgramFiles(x86)MicrosoftVisualStudio8VCinamd64vcvarsamd64.bat转移到libiconv-1.11. 查看详情

记录windows下编译chromium,备忘

编译windows下chromium,时间:20170619,官方地址:https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md 一.系统要求:1.64位机器,至少8GB的内存,推荐16GB以上。(我用的Win1064位虚拟机,内存按照8G来的);2.至... 查看详情

在windows下编译lua

http://blog.csdn.net/yue7603835/article/details/41739085http://blog.csdn.net/birdflyto206/article/details/49403801 BuildingLuaonothersystemsIfyou‘renotusingtheusualUnixtools,thentheinstructionsfo 查看详情

windows下编译及使用libevent

Libevent官网:http://libevent.org/windows7下编译:编译环境: windows7+VS2010(1)解压libevent到F:libeventlibevent-2.0.21-stable(2)打开Microsoftvisualstudio2010命令行工具(3)修改以下三个文件,添加宏定义:在以下3个文件开头添加“#define_... 查看详情

[转]windows下编译及使用libevent

http://www.cnblogs.com/luxiaoxun/p/3603399.html  Libevent官网:http://libevent.org/windows7下编译:编译环境: windows7+VS2010(1)解压libevent到F:libeventlibevent-2.0.21-stable(2)打开Microsoftvisualstud 查看详情

linux与windows下编译工具

Linuxgccg++make使用makefile调用gccg++cmake使用CMakeLists文件生成makefile文件qmake使用Qt中pro文件生成makefile,调用makeBoost使用BJam可设置不同的编译器Windowsres.execl.exelink.exenmake与多线程版的jom使用makefilevs项目(vcxproj,sln 查看详情

linux与windows下编译工具

Linuxgccg++make使用makefile调用gccg++cmake使用CMakeLists文件生成makefile文件qmake使用Qt中pro文件生成makefile,调用makeBoost使用BJam可设置不同的编译器Windowsres.execl.exelink.exenmake与多线程版的jom使用makefilevs项目(vcxproj,sln 查看详情

windows下编译libevent

  1从github上gitclonehttps://github.com/nmathewson/Libevent.git或者直接下载zip包.然后找到vs2015命令行,打开2:3:等待结果  4使用demo测试包含目录 库目录附加依赖项:  查看详情

windows下编译skia(代码片段)

转载请说明原出处,谢谢~~:https://redrain.blog.csdn.net/article/details/111685123 目录准备环境1.配置代理2.下载depot_tools3.下载skia4.假如没有梯子开始编译1.args的参数说明2.生成项目文件3.删除多余的命令用LLVM编译Skia剪裁手动去掉... 查看详情

windows下编译skia(代码片段)

转载请说明原出处,谢谢~~:https://redrain.blog.csdn.net/article/details/111685123 目录准备环境1.配置代理2.下载depot_tools3.下载skia4.假如没有梯子开始编译1.args的参数说明2.生成项目文件3.删除多余的命令用LLVM编译Skia剪裁手动去掉... 查看详情

windows下编译gtsam(代码片段)

目录GTSAM简介安装需求gtsam安装依赖要求本文的安装依赖版本安装步骤安装中可能出现的异常相关学习资料GTSAM简介:GTSAM是一个在机器人领域和计算机视觉领域用于平滑(smoothing)和建图(mapping)的C++库... 查看详情

在windows环境idea下编译运行elasticsearch7.14.1(代码片段)

文章目录在Windows环境中IDEA下编译运行Elasticsearch7.14.1环境准备操作步骤获取源码方式一:直接通过`gitbash`执行`gitclone`命令方式二:通过IDEA界面化操作编译源码本地运行遇到的问题1.权限问题2.版本问题3.geoip报... 查看详情

chapter6windows下编译pycaffe

...就是提供Python调用CaffeCPlusPlusLibrary的接口。此处编译是在WindowsCaffeVS2013的环境下进行,请对号入座,编译过程按以下步骤逐步进行。1.安装Python环境recommendinstallpython2.7之 查看详情

windows(msvc)下编译boost库

下载&解压从http://www.boost.org/上下载源码并解压打开vs的本机工具命令提示符cdboost_sourcecode_dirbootstrap如果需要编译boost.python需要在boost_sourcecode_dir oolsuildexampleuser-config.jam中添加如下内容:usingmsvc:14.0;usingpython:2.7: 查看详情

windows7系统下编译安装x264

1.MinGW的下载与安装下载网址:https://sourceforge.net/projects/mingw/files/点击矩形框内链接下载安装引导程序mingw-get-setup.exe。 最好安装默认安装路径以及设置。选择所有Package,点击Installation,Applyallchanges,在弹出的对话框中点击Apply... 查看详情

windows下编译luajit

参考技术A这里使用Visualstudio自带的命令行工具来进行编译,所以需要安装好VS。首先打开VS命令行工具。可以按Win+S,输入prompt来找到它。如图。解压LuaJIT源码,并进入到解压目录/src下。输入msvcbuild开始编译。看到===Successfullybuil... 查看详情