gpt4 book ai didi

c++ - 如何使用waf编译在运行时生成的c++源文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:47:56 26 4
gpt4 key购买 nike

我在源代码树中有 protobuf 原型(prototype)文件。我想在每次更改和首次运行时从原型(prototype)文件生成源文件(例如,我创建新的原型(prototype)文件)。然后,我想从这些源文件编译共享库并将它们保存在源代码树中。

实现我的目标的最佳方式是什么?

最佳答案

我自己找到了解决方案:

from waflib import Build, Utils, TaskGen

def build(bld):
bld.post_mode = Build.POST_LAZY

# some bld(...) tasks that generate source files.

bld.shlib(source='main.cc', dynamic_source='**/*.cc', target='test')

@TaskGen.feature('cxxshlib')
@TaskGen.before('process_source')
def dynamic_post(self):
if not getattr(self, 'dynamic_source', None):
return
self.source = Utils.to_list(self.source)
self.source.extend(self.path.get_bld().ant_glob(self.dynamic_source))

关于c++ - 如何使用waf编译在运行时生成的c++源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com