Я новичок в 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
Макет моего проекта такой:
У меня есть ethash_get_cachesize
и ethash_get_datasize
, определенные в internal.c в каталоге ethminer / libethash / это источник Си. Я уверен, что файл 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»
любая помощь будет высоко ценится