cmake:你已经为库cryptopp调用了ADD_LIBRARY,没有任何源文件

使用cmake编译c ++项目的Windows 64位: github.com/iHateInventNames/synergy-through-usb

我在这篇文章中解决了以前的一个问题: 编译问题:LIBUSB_1与Windows上的cmake项目

所以当我打cmake现在我得到以下错误:

 > cmake . -- Found libusb-1.0: -- - Includes: C:/local/libs/libusbx -- - Libraries: C:/local/libs/libusbx/libusb-1.0.lib You have called ADD_LIBRARY for library cryptopp without any source files. This typically indicates a problem with your CMakeLists.txt file -- Configuring done CMake Error: CMake can not determine linker language for target: cryptopp CMake Error: CMake can not determine linker language for target: cryptopp CMake Error: CMake can not determine linker language for target: cryptopp CMake Error: CMake can not determine linker language for target: cryptopp -- Generating done -- Build files have been written to: C:/local/projects/synergy-usb/synergy-through-usb-master 

这是什么意思? 我怎么解决它/继续前进?

链接到安装说明

这两个转到404错误…

  • http://synergy-project.org/projects/synergy/wiki/Readme/?hl=pm
  • http://synergy-project.org/projects/synergy/wiki/Compiling/?hl=pm

基于对项目CMakeLists的快速浏览,在运行CMake之前,似乎应该将tools/cryptopp562.zip解压到一个名为tools/cryptopp562的目录中。 如果有的话,这应该在项目的安装说明中提到。

更确切地说,文件tools/CMakeLists.txt包含以下代码:

 set(cpp_dir cryptopp562) file(GLOB cpp_src ${cpp_dir}/*.cpp) # ... add_library(cryptopp STATIC ${cpp_src}) 

这意味着变量cpp_src被从目录cryptopp562 (相对于CMakeList的目录,即tools )获取的源文件填充,然后被用来定义文件cryptopp的源文件。 但是,该项目的分发只包含tools/cryptopp562.zip 。 解压到目录tools/cryptopp562应该提供缺少的文件。