我是CMake的新手,也是混合源代码的新手,在尝试使用CMake和Visual Studio 14.0进行编译时,我收到以下错误消息
(Link target) ->
main.obj : error LNK2001: unresolved external symbol ethash_get_cachesize
main.obj : error LNK2001: unresolved external symbol ethash_get_datasize
我的项目的布局如下:
我在internal.c目录ethminer / libethash /中定义了ethash_get_cachesize
和ethash_get_datasize
,这些都是C源代码。我确信随此源提供的CMake文件是可以正常使用的,因为该项目以前没有问题就已经进行了编译,在添加以下内容后,它仅给我LINK问题:
我还有另一个目录/ ethminer / dag /,带有C ++源代码“ dag.cpp”和“ dag.h”,它们都是C ++文件。和CMake文件。
set(SOURCES
DAG.h DAG.cpp
)
include_directories(BEFORE ..)
link_directories(BEFORE ..)
C ++源文件“ dag.cpp”包含#include <libethash/internal.h>
但是我担心我缺少告诉CMake或Visual Studio从包含“ internal.c”的目录中查找所需文件的东西
任何帮助将不胜感激