相关疑难解决方法(0)

如何将git commit-number包含到c ++可执行文件中?

我使用git作为我的c ++项目的版本跟踪器.

有时我需要重复计算,我想知道我使用的程序版本.

将#提交放入主可执行文件的好方法是什么?换一种说法.我希望程序在运行程序时告诉我介绍性消息中当前提交的#.

我能想到的一种方法是让shell中的c ++程序午餐"git log"并提取commit#但是我不确定如何在make期间执行它.

(我使用linux)

c++ git makefile

40
推荐指数
4
解决办法
2万
查看次数

强制gnu make来重建受编译器定义影响的对象

我有一个makefile,它在命令行中获取选项

make OPTION_1=1
Run Code Online (Sandbox Code Playgroud)

根据该值,它将向对象子集添加其他编译器定义.

ifeq ($(OPTION_1), 1)
CC_FLAGS += -DOPTION_1_ON
endif
Run Code Online (Sandbox Code Playgroud)

定义中的更改会影响包含的头文件内容 - 存根或实现会暴露给目标文件.

如何通过此选项更改来重建受影响的文件?

makefile gnu-make

24
推荐指数
1
解决办法
6833
查看次数

将数据嵌入C++程序中

我有一个使用SQLite的C++程序.我想将SQL查询存储在一个单独的文件中 - 纯文本文件,而不是源代码文件 - 但是将该文件嵌入可执行文件中,就像资源一样.

(这必须在Linux上运行,因此据我所知,我无法将其存储为实际资源,但如果它适用于Windows,那将是完美的.)

有没有简单的方法,或者它是否有效地要求我为Linux编写自己的资源系统?(很容易,但需要更长的时间.)

c++ linux sqlite

17
推荐指数
1
解决办法
7135
查看次数

将Git SHA1信息扩展为签入而不归档?

有没有办法在每次提交时在文件中包含git commit哈希?我只能在归档期间找到如何执行此操作,但我无法找到如何为每次提交执行此操作.

我正在使用git作为修订控件进行科学编程,因此这种功能对于重现性原因非常有用(即,git hash会自动包含在所有结果文件和数字中).

git hash scientific-computing

5
推荐指数
1
解决办法
1124
查看次数

如何通过Qt项目文件将命令的输出作为编译器标志传递?

我正在尝试将"git describe"的输出添加到我的应用程序的about窗口中,因此更容易找出人们使用的应用程序版本.

我可以通过添加以下编译器标志来实现:-DAPP_VERSION ="$(git describe HEAD)"

但由于该项目基于qmake,我想找到一种方法将其放入Qt项目文件中.这可能吗?如果是这样,怎么样?

编辑:我尝试添加以下内容:

QMAKE_CXXFLAGS + = -DAPP_VERSION ="$(git describe HEAD)"

但它只是给了我"-DAPP_VERSION =",所以我想我必须使用一些转义字符,但我不知道哪些和哪里.:/

qt qmake compiler-flags

2
推荐指数
1
解决办法
1712
查看次数