草庐IT

gcc12.2.0

全部标签

c++ - 使用自定义构建的 gcc 时程序链接失败

我正在运行一个fedora21发行版,其中默认的gcc是4.9。我在/usr/local/gcc48中有一个自定义构建的gcc/g++4.8(例如,cuda需要gcc=现在,我获得了使用vtk库和其他库的源代码。如果我使用默认的gcc4.9,cmake和make可以正常工作。但是,当使用gcc48时,我得到:/usr/lib64/vtk/libvtkCommonDataModel.so.1:référenceindéfinievers«std::__throw_out_of_range_fmt(charconst*,...)@GLIBCXX_3.4.20»/lib64/libicuuc

c++ - 如何获得 4.2 版的 g++/gcc for windows?

如何获得适用于Windows的g++/gcc的最新版本,即4.2+?Mingw的标准g++是3.4.5,它有3年历史,于2005年11月发布。Mingw有一个4.2版本,但这只是在Alpha阶段。我找不到适用于Windows的g++的稳定最新版本,我肯定遗漏了一些东西。 最佳答案 TwilightDragonMedia跟踪并定期发布可用于MinGW环境的GCC版本。当前版本基于GCC4.3.2。包可以下载here.在对4.3.2-TDM1版本进行了两个多月的广泛测试后,我开始在生产中使用它。我遇到的唯一问题是C++中的跨DLL异常,

实战-docker方式部署个人私有云相册-PhotoPrism-2023.12.10-测试成功

实战-docker方式部署个人私有云相册-PhotoPrism-2023.12.10-测试成功目录文章目录实战-docker方式部署个人私有云相册-PhotoPrism-2023.12.10-测试成功目录需求前提环境环境1、部署2、测试3、使用4、效果总结参考关于我最后需求目前为止:自己的博客、知识库、图床、本地笔记解决方案已完全实现;但相册功能还未实现,因为相册承载了一个人的回忆哇,但qq相册会压缩原图,百度云盘相册又不能很友好地对方提供访问服务,且基于数据完全可控原则,这里自己开始利用docker搭建自己的相册。自己相册需求:需要分享的相册;(风景照、动物照、家人、自己、那份爱恋……)可以

c++ - GCC C++11 条件变量等待内部机制

我正在寻找我们遇到的一个错误,一些困惑的线程/条件变量类被更新为使用C++11线程。在搜寻过程中,我在GCC代码库中遇到了以下内容:templatevoidwait(_Lock&__lock){unique_lock__my_lock(_M_mutex);_Unlock__unlock(__lock);//_M_mutexmustbeunlockedbeforere-locking__locksomove//ownershipof_M_mutexlocktoanobjectwithshorterlifetime.unique_lock__my_lock2(std::move(__my_

c++ - 如何让 gcc 打印所有链接的库?

即使是最简单的“helloworld”程序,也可以使用命令进行编译和链接"gcc-ohellohello.c",必须有某个版本的标准C库链接到hello.o的构建目标。我正在寻找的正是那种在编译链接过程中由gcc“secret”链接的库。有什么办法吗? 最佳答案 $gcc-ohello-Xlinker-vhello.ccollect2version4.6.3(x86-64Linux/ELF)/usr/bin/ld--sysroot=/--build-id--no-add-needed--as-needed--eh-frame-hdr

c++ - 'stol' 使用 Visual Studio 而不是 gcc 引发的异常

以下代码在VisualStudio2013而不是gcc4.9.2下运行时抛出异常。报错是:'exception:stolargumentoutofrange'stol返回一个long因此temp的大小应该足够大以容纳返回值。任何人都可以解释这种行为。这可能是编译器错误吗?#include#include#include#includeintmain(){conststd::stringvalue="4294967295";//0xfffffffftry{int64_ttemp=std::stol(value);}catch(std::invalid_argument&ex){std::

c++ - 是否有预处理器定义来区分 gcc 和 g++ 代码?

是否有在gcc和g++编译器中定义的预处理器宏,以便如果我想让我的C代码链接到C标准库或C++标准库?像这样的东西:一些文件.c#ifdef__CPP__#include#else#include我确定有,但快速的Google搜索并没有立即指向我,我确定有人会发布重复的问题,但无论如何,请指出正确的方向。 最佳答案 在c++中你可以#ifdef__cplusplus例如,如果c++代码您希望编译器将某些代码片段作为c代码来处理,您需要将该代码块放入#ifdef__cplusplusextern"C"{#endif#ifdef__cp

c++ - 使用带有默认大小写和 lambda 函数的 switch 语句时出现 gcc 错误

我不明白为什么这段代码#includeclassA{public:voidfoo(){charg='m';switch(g){case'g':autof=[](){std::printf("helloworld\n");};f();break;//default://std::printf("gotohell\n");//break;}};};intmain(intiargc,char*iargv[]){Aa;a.foo();}编译(和工作)正常,而取消注释默认语句时#includeclassA{public:voidfoo(){charg='m';switch(g){case'g':

c++ - gcc 堆栈优化

您好,我有一个关于gcc(或g++)可能的堆栈优化的问题。FreeBSD下的示例代码(UNIX差异在这里重要吗?):voidmain(){charbing[100];..stringbuffer=....;..}我在gdb中找到的这个程序的coredump是地址bing实际上低于该缓冲区(即&bing[0]我认为这与教科书上所说的完全相反。可以有是一些编译器优化,以这样的方式重新组织堆栈布局怎么办?这似乎是唯一可能的解释,但我不确定..如果你感兴趣的话,coredump是由于缓冲区溢出造成的bing缓冲(但这也证实了&bing[0]谢谢! 最佳答案

【PX4-AutoPilot教程-TIPS】Ubuntu中安装指定版本的gcc-arm-none-eabi

Ubuntu中安装指定版本的gcc-arm-none-eabi在Ubuntu中开发基于ARM架构的STM32芯片,需要安装交叉编译器gcc-arm-none-eabi编译代码,那么什么是交叉编译器呢?Ubuntu自带的gcc编译器是针对X86架构的!而我们现在要编译的是ARM架构的代码,所以我们需要一个在X86架构的PC上运行,可以编译ARM架构代码的GCC编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就是:(1)它是一个GCC编译器;(2)这个GCC编译器是运行在X86架构PC上的;(3)这个GCC编译器是编译ARM架构代码的,也就是编译出来的可执行文件是在ARM芯片上运行的。交叉编