我正在尝试构建一个使用 erlang 库的应用程序。(https://github.com/leo-project/erocksdb)。该库本身是 C++ 静态库(rocksdb
编译为librocksdb.a
)的包装器。rocksdb
被制成 的 git 子模块erocksdb
,并位于c_src
目录中。我正在修改这两个地方(rocksdb
和erocksdb
)的代码。
问题是,如果我对 的.cc
文件之一进行更改,则触发rocksdb
的命令只会编译文件(代码的输出),但不会更新文件。make
erocksdb
librocksdb.a
rocksdb
erocksdb.so
发生这种情况是因为rebar.config
没有将其指定librocksdb.a
为源文件。port_specs
添加源的正常方法rebar.config
无法使用,因为它似乎期望源是一个C/C++
文件,并尝试.o
为每个源文件创建一个。
如何正确反映依赖关系?