TianZerL / Anime4KCPP

A high performance anime upscaler
GNU General Public License v3.0
1.82k stars 139 forks source link

在linux上编译错误 #88

Open chenxiex opened 2 years ago

chenxiex commented 2 years ago

cmake时提示错误:

CMake Error in core/CMakeLists.txt:
  Target "Anime4KCPPCore" INTERFACE_INCLUDE_DIRECTORIES property contains
  path:

    "/***/Anime4KCPP/core/"

  which is prefixed in the source directory.

这里提到的这个目录是存在的。

chenxiex commented 2 years ago

这个错误似乎不影响后续编译与使用。

FantasyGmm commented 2 years ago

这个错误导致无法生成cmake缓存,请问下是怎么继续编译的,win10 vs2019下无法编译,就是因为这个导致cmake缓存无法生成

chenxiex commented 2 years ago

这个错误导致无法生成cmake缓存,请问下是怎么继续编译的,win10 vs2019下无法编译,就是因为这个导致cmake缓存无法生成

过去太久,我也记不太清,但是应该是直接做了下一步make,后面就没有再报错。我最近还会再编译一次,如果复现就再来提吧。

TianZerL commented 2 years ago

这个错误导致无法生成cmake缓存,请问下是怎么继续编译的,win10 vs2019下无法编译,就是因为这个导致cmake缓存无法生成

CMake版本是什么,我一直没复现出这个问题。。。

FantasyGmm commented 2 years ago

cmake版本是3.20.21032501-MSVC_2 IDE用的vs2019勾选C++开发,未选择多余选项

TianZerL commented 2 years ago

怀疑是cmake3.20的问题,这位老哥也是这个版本有问题 #94 之后用这个版本研究一下。

FantasyGmm commented 2 years ago

有可能,但是我最近才安装的vs2019这应该是最新的了,如果要更新就只有换2022去试试了

TianZerL commented 2 years ago

有可能,但是我最近才安装的vs2019这应该是最新的了,如果要更新就只有换2022去试试了

cmake不一定用vs内置的,自己装一个然后用gui生成sln打开编译就行了

FantasyGmm commented 2 years ago

下了最新的latest cmake3.23也是一样的错误,请问下你用的是哪个版本啊,我可能需要下老版本才能解决了

FantasyGmm commented 2 years ago

在cmake gui内配置没有问题,生成的时候会出现上面提到的错误,VS2019的cmake与我自己下载的CMAKE3.23上,在虚拟机里面编译会遇到CUDA_ARCHITECTURES is empty的问题,虚拟机没有直通显卡进去 尝试了cmake3.17.5也是存在不能生成的问题

TianZerL commented 2 years ago

下了最新的latest cmake3.23也是一样的错误,请问下你用的是哪个版本啊,我可能需要下老版本才能解决了

这么看还不完全是CMake版本问题,另一个Linux老哥也说,一样的CMake版本,不同的操作系统也不行,那看来还是没搞清楚复现条件。 在生成的时候,目录结构是什么样的,是在根目录下创建build之类的文件夹然后在里面生成吗 ?

TianZerL commented 2 years ago

CUDA_ARCHITECTURES

这个问题不大,只要你正确安装了CUDA SDK,没有N卡都能编译,CUDA_Auto_CC这个选项关了,就不会自动检测显卡了

FantasyGmm commented 2 years ago

是的在仓库根目录下创建的build文件夹 我又重新装回3.23了,3.17下cuda编译好像会有点问题 这是生成的时候的错误信息,删除了build文件夹之后,在GUI里面打开文件夹configure第一次会报错,找不到opencv,添加了OpenCV的路径后,不修改任何环境变量configure可以过,但是generate会出错,这是generate后GUI窗口内的输出

Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.19044.
Building information:
   Build date: 2022-08-03

   Build CLI ON
   Build GUI OFF
   Build VapourSynth plugin OFF
   Build AviSynthPlus plugin OFF
   Build C wrapper OFF

   Build static C wrapper OFF
   Build static core ON
   Built-in kernel ON

   Use Boost filesystem OFF
   Use Eigen3 OFF
   Use legacy OpenCL API OFF

   Ryzen optimization OFF
   Native optimization OFF
   Other optimization for core OFF
   Other optimization for other OFF

   Enable arm neon OFF
   Enable SSE4.2 OFF
   Enable AVX OFF
   Enable AVX2 OFF

   Enable IPO OFF
   Enable OpenCL ON
   Enable CUDA OFF
   Enable NCNN OFF
   Enable OpenCV DNN OFF
   Enable video ON
   Enable preview GUI ON
   Enable image IO ON
   Disable parallel OFF

   Parallel library PPL

Extra building information for Windows:
   Build DSFilter OFF

C++ compiler flags:
 /DWIN32 /D_WINDOWS /W3 /GR /EHsc

Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 
Found OpenCV: C:/Users/dev/Downloads/opencv-4.6.0/build (found version "4.6.0") 
Looking for C++ include pthread.h
Looking for C++ include pthread.h - not found
Found Threads: TRUE  
Looking for CL_VERSION_2_2
Looking for CL_VERSION_2_2 - found
Found OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/lib/x64/OpenCL.lib (found version "2.2") 
Configuring done
CMake Error in core/CMakeLists.txt:
  Target "Anime4KCPPCore" INTERFACE_INCLUDE_DIRECTORIES property contains
  path:

    "C:/Users/dev/Downloads/Anime4KCPP/core/"

  which is prefixed in the source directory.

Generating done
FantasyGmm commented 2 years ago

我搜了下这个错误,会不会是这个帖子里问题呢帖子,我个人不是经常写cmake,所以也看不太懂,只有麻烦作者看看了

FantasyGmm commented 2 years ago

CMKAE GUI configure成功后,直接打开工程用VS编译可以生成EXE,vs好像直接无视那个错误了,但是编译后的bin文件夹里面没有dll文件

TianZerL commented 2 years ago

CMKAE GUI configure成功后,直接打开工程用VS编译可以生成EXE,vs好像直接无视那个错误了,但是编译后的bin文件夹里面没有dll文件

开了Build static core的话core lib是静态链接的,是没有dll的

TianZerL commented 2 years ago

我搜了下这个错误,会不会是这个帖子里问题呢帖子,我个人不是经常写cmake,所以也看不太懂,只有麻烦作者看看了

我也看了这个,但是我的写法就是他给的解决方案之一,我现在也还没搞明白到底是什么问题,有点玄学