草庐IT

COMMIT_VERSION

全部标签

c++ - 如何在编译时检查像 "#define VERSION 3.1.4"这样的值?

我正在为我公司的C++项目添加编译时检查,以确保所有开发机器和构建服务器上的第三方库都是最新的。大多数图书馆定义如下内容,例如版本3.1.4:#defineVERSION_MAJOR3#defineVERSION_MINOR1#defineVERSION_BUILD4使用static_assert或预处理器指令,这很容易检查。现在我正在寻找一个定义单个宏的第三方库:#defineVERSION3.1.4如何在编译时验证此类宏的值?使用C++11,我可以使用constexpr字符串比较函数,并将宏字符串化以检查它:constexprboolstatic_equal(constchar*a

c++ - 为什么我得到这个 "error: undefined reference to ` qt_version_tag'”?

我在Ubuntu16LTS机器上使用Qt5.7。我收到这个错误:(.qtversion[qt_version_tag]+0x0):-1:error:undefinedreferenceto`qt_version_tag'此错误仅在我使用SDL库时出现。 最佳答案 我知道这是一个旧线程,但您可以通过定义QT_NO_VERSION_TAGGING来避免它;也就是说,通过传递选项:-DQT_NO_VERSION_TAGGING到gcc。 关于c++-为什么我得到这个"error:undefin

c++ - 我什么时候调用 boost::asio::streambuf::consume() 和 boost::asio::streambuf::commit()?

我试图理解boost::asio::streambuf::consume()和boost::asio::streambuf::commit()调用.在文档中,我们有示例,boost::asio::streambufb;std::ostreamos(&b);os和boost::asio::streambufb;//reserve512bytesinoutputsequenceboost::asio::streambuf::mutable_buffers_typebufs=b.prepare(512);size_tn=sock.receive(bufs);//receiveddatais"

c++ - 使用可变参数模板重载函数模板 : Intel c++ compiler version 18 produces different result from other compilers. intel 错了吗?

考虑以下代码片段:templateclassA,typename...Ts>inta(Aarg){return1;//Overload#1}templateinta(Aarg){return2;//Overload#2}templatestructS{};intmain(){returna(S());}在使用模板类的实例调用函数a时,我希望编译器选择更特殊的函数重载#1。根据compilerexplorer、clang、gcc和17版之前的英特尔实际上会选择重载#1。相反,后来的英特尔编译器版本(18和19)选择重载#2。是代码定义不正确还是最新的英特尔编译器版本有误?

c++ - Visual Studio - 升级后为 "Unknown Compiler version"

我有一个VisualStudio2015C++项目,我想升级到VS2017。当我第一次在VS2017中打开我的项目时,我已经拒绝了升级我的项目的自动提示(不确定我想升级到时间)所以我不能那样更新我的项目。相反,我只是去了我的项目:属性->配置属性->常规我在那里将“平台工具集”选项更新为“VisualStudio2017(v141)”,并将“WindowSDK版本”从Windows8.1更改为10.0.16299.0。执行此手动升级后,我现在在构建时收到警告:Unknowncompilerversion-pleaseruntheconfiguretestsandreporttheres

windows - MSI 安装程序远程失败 - "A Newer Version"已安装,即使在卸载后也是如此

我开始使用我们的自动化构建时出现相当奇怪的行为。我有一个非常简单的Windows服务.msi(内置于VisualStudio2010),它在我们的中央构建/repo服务器上编译,上传到我们的开发服务器,然后从构建/repo服务器(命令行)远程安装通过ssh使用plink)在开发服务器上。这工作了很长时间,直到最近自动构建开始100%失败。msi的详细安装日志指出“已安装此产品的较新版本”。我远程连接到开发服务器,检查了msi,没有问题我自己在服务器上手动安装它(通过命令行和GUI)。然后我从“程序和功能”窗口中卸载了该服务,确认文件和条目已被删除,再次尝试从构建服务器远程安装它,并再次

windows - 用于在 Facebook 墙上发布的 SVN Post-commit Hook

我在运行Windows7x64的本地计算机上使用VisualSVN服务器。我正在寻找一种最简单的方法来为我的一些本地存储库创建提交后Hook,从而允许我将提交信息发布到我的Facebook墙上。如果在提交时我的电脑没有连接到互联网(它是膝上型电脑),额外的功能是对消息进行排队。最佳解决方案不需要安装任何其他软件。我能够编写HTTP连接程序,但是我想使用现有的软件,如果有帮助的话。 最佳答案 我已经设法实现了一个解决方案,在每次提交后在Facebook上创建一个新的提要对象(即创建一个新帖子)。该配方未经过全面测试,您应将其视为概念证

windows - R for Windows 的 "Current Version"和 "Install Path"注册表项有什么用?

这是我要询问的两个注册表项。**HKEY_LOCAL_MACHINE\Software\R-core\R\CurrentVersionHKEY_LOCAL_MACHINE\Software\R-core\R\version\InstallPath当R从命令行启动时(或从emacs,或statconnDCOM就此而言),它使用首先出现在Windows的Path环境变量。相比之下,双击*.Rdata文件会使用HKEY_CLASSES_ROOT中相关文件关联条目指向的版本。但是这两个HKEY_LOCAL_MACHINE条目何时或由什么使用?编辑:BrianDiggs指出了一组确实使用(和修改

windows - C :\Progra~2 not working in OEM Version of Windows 8

我正致力于在Windows8中创建一个批处理文件,它不会在其正文中接受"C:\Programfiles",因为Program和files给出错误。所以,我使用了"C:\Progra~2"。我想访问程序文件(x86)。我有两台Windows8PC:Windows8PRO和Windows8OEM。当我从文件资源管理器中键入"C:\Progra~2"以访问程序文件(x86)时,它在Windows8PRO中成功打开。但是当我在Windows8OEM中做同样的事情时,它说WindowscannotfindC:\Progra~2.我不确定这是否是PRO和OEM版本的问题。谁能帮我找到解决方案?

Python3.5.2 bdist_wininst : Python version -32 required, 在注册表中找不到

我在Windows7上使用Python3.5.232位创建的包有问题。我通常使用setuptools的bdist_wininst选项在Windows上部署我的Python包。这样同事们只要启动windowsinstallerexe就可以很轻松的更新一个包了。但是,由于我更改为Python3.5.2,因此在尝试安装包时出现以下错误:Pythonversion-32required,whichwasnotfoundintheregistry对我来说,安装程序似乎正在寻找一个名为"-32"的Python版本,但它找不到。有人遇到同样的问题或找到解决方案了吗? 最佳