草庐IT

cmake编译

全部标签

c++ - 涉及 `std::string` 的编译导致 Windows 错误状态

最小的例子:#include#includeintmain(int/*argc*/,char*/*argv*/[]){HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);//Behaviorthesame,withorwithout.DWORDerr=GetLastError();std::stringstr;return(int)err;//returns127ifflineaboveuncommented,0iffcommented}此程序返回127,对应于ERROR_PROC_NOT_FOUND(“找不到指定的过程。”)。请注意,err是在s

c - 使用未定义的结构编译错误 - C

编译器不知道stat.h在哪里?错误:c:\Projects\ADC_HCI\mongoose.c(745):错误C2079:“st”使用未定义的结构“_stat64”#include#includestaticintmg_stat(constchar*path,structmgstat*stp){struct_stat64st;//size=st.st_size;stp->mtime=st.st_mtime;stp->is_directory=S_ISDIR(st.st_mode);}else{ok=-1;}return(ok);}...直接从source下载文件.

c++ - 在不重新编译源代码的情况下更改 C++(C) 程序中定义的数字

假设我有这个打印数字的简单程序:#includeintunique_id=112233;intmain(){std::cout然后我将它编译成类似a.exe的东西。现在我想创建另一个打开a.exe并将unique_id更改为其他内容的应用程序。可能吗?由于某些限制,我不会将参数传递给程序。我想使用unique_id,顾名思义,唯一标识我的程序运行的位置。但我不想为1000个客户编译我的程序1000次。我知道我可以使用硬盘序列号,但在虚拟机中,这个序列号可能会被省略。我知道我可以使用CPU序列号,但我在S.O帖子中读到该序列号已弃用。我知道我也可以使用MAC地址:),但该地址可以轻松更改

windows - 使用适用于 Windows 的 OpenSSL 进行交叉编译

我正在尝试编译oauth-utilshttp://mir.dnsalias.com/oss/oauth/start适用于Ubuntu的Windows。我之前在Windows上编译过(几个月前),但想尝试交叉编译。我使用mingw32构建了opensslok,然后放libssl.a和libcrypto.a在正确的位置。链接器现在找到库(耶!)但我收到以下错误:/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+

c - 为什么这不编译?

#include#includeintmain(){TCHARbuff[1024];GetLogicalDriveStrings(1024,buff);inti;for(i=0;buff[i]!=0;i+=4)printf("%S",buff+i);}当我尝试使用MSVC编译它时,出现以下错误:http://ahb.me/5T-注释掉GetLogicalDriveStrings(1024,buff);会使代码编译得很好 最佳答案 旧版本的C要求在block的开头声明局部变量,在函数调用之前。将inti;移动到函数的顶部,以与buff

c++ - 从命令行编译 Visual C++

我正在尝试使用以下命令从命令行编译C++文件:C:\"ProgramFiles(x86)"\"MicrosoftVisualStudio10.0"\VC\bin\x86_amd64\CL/FAcsC:\Users\X\Documents\"VisualStudio2010"\Projects\"ProjectFile"\My_Project\HELLO.CPP但是我得到了错误:Theprogramcan'tstartbecausemspdb100.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem

c++ - MS Visual Studio Professional 2013 - C++ 为 32 位和 64 位操作系统编译单个可执行文件?

Google给了我一个线索,有可能将代码编译成一个可执行文件,该可执行文件将在32位操作系统上作为32位运行,在计算机上作为64位运行64位操作系统。可执行文件真的有可能在运行时确定其位数吗?在我的例子中,目标系统是Windows7Professionalx64和WindowsXPSP3x86。所以我在各种文章中读到的内容(我认为甚至有关于SO的类似主题的答案)是必须转到Soltuion的ConfigurationManager(RMBontoSolution->ConfigurationManager)并将Platform设置为AnyCPU。现在所有这些文章都描述了旧MSVS或MSV

在 Windows 中编译的 C++ 程序产生不同的输出

我正在解决一个涉及增加计数器并显示它的问题。我初始化和递增变量的方式看起来很正常。查看计数器变量#include#includeusingnamespacestd;intmain(){chars[5];intcounter=1;while(cin>>s&&(strcmp(s,"*")!=0)){cout但是程序神秘地显示了一个不正确的结果。它没有正确地增加从1开始的值。查看输出。Case1:Hajj-e-AkbarCase0:Hajj-e-AsgharCase1:Hajj-e-AkbarCase0:Hajj-e-Asghar但是当我尝试通过http://www.tutorialspoi

c++ - 如何在 Windows 中使用手写的 makefile 编译和构建 C++ 应用程序?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。有人可以提供HelloWorld演示吗?

windows - 如何在 Windows 中使用 cmake 更轻松地链接 gtk 库?

我现在以一种非常丑陋的方式手动包含所有必需的路径(gtk包位于D:/Tools/gtk+-bundle_2.20.0-20100406_win32):include_directories(D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/gtk-2.0D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/glib-2.0D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib/glib-2.0/includeD:/Tools/gtk+-bundle_