Не могу найти правильный компилятор для этого проекта cpp, используя Jetbrains CLion - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу скомпилировать проект с открытым исходным кодом, но не смог скомпилировать проект. Я использую Jetbrains CLion в качестве своей IDE.

Проект ( не стесняйтесь клонировать и попробовать себя ): https://github.com/xetra11/vm

Я уже пробовал следующие компиляторы:

  • LLVM / clang
  • LLVM / clang ++
  • LLVM / clang-cpp
  • LLVM / clang-cl
  • MinGW64 / г ++
  • MinGW64 / НКУ

Все они выдают ошибки перед тем, как начать. Только двум удается компилировать, но делают это с ошибками компиляции. Сопровождающий сказал мне, что он может скомпилировать clang и gcc. Поэтому я очень смущен тем, что я делаю здесь неправильно.

Использование LLVM / clang-cpp :

[  0%] Building CXX object CMakeFiles/libsqfvm.dir/src/Entry.cpp.obj
[  2%] Building CXX object CMakeFiles/libsqfvm.dir/src/arraydata.cpp.obj
[  4%] Building CXX object CMakeFiles/libsqfvm.dir/src/astnode.cpp.obj
In file included from C:\Development\Github\sqfvm\src\Entry.cpp:1:
C:\Development\Github\sqfvm\src/netserver.h:1:10: fatal error: 'iostream' file not found
#include <iostream>
         ^~~~~~~~~~
In file included from C:\Development\Github\sqfvm\src\arraydata.cpp:1:
C:\Development\Github\sqfvm\src/arraydata.h:2:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
[  6%] Building CXX object CMakeFiles/libsqfvm.dir/src/callstack.cpp.obj
1 error generated.
C:\Development\Github\sqfvm\src\astnode.cpp:1:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:62: CMakeFiles/libsqfvm.dir/src/Entry.cpp.obj] Error 1
make.exe[3]: *** Waiting for unfinished jobs....
1 error generated.
1 error generated.
[  8%] Building CXX object CMakeFiles/libsqfvm.dir/src/callstack_apply.cpp.obj
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:75: CMakeFiles/libsqfvm.dir/src/arraydata.cpp.obj] Error 1
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:88: CMakeFiles/libsqfvm.dir/src/astnode.cpp.obj] Error 1
In file included from C:\Development\Github\sqfvm\src\callstack.cpp:1:
C:\Development\Github\sqfvm\src/callstack.h:2:10: fatal error: 'memory' file not found
#include <memory>
         ^~~~~~~~
1 error generated.
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:101: CMakeFiles/libsqfvm.dir/src/callstack.cpp.obj] Error 1
In file included from C:\Development\Github\sqfvm\src\callstack_apply.cpp:1:
C:\Development\Github\sqfvm\src/callstack_apply.h:2:10: fatal error: 'memory' file not found
#include <memory>
         ^~~~~~~~
1 error generated.
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:114: CMakeFiles/libsqfvm.dir/src/callstack_apply.cpp.obj] Error 1
make.exe[2]: *** [CMakeFiles\Makefile2:109: CMakeFiles/libsqfvm.dir/all] Error 2
make.exe[1]: *** [CMakeFiles\Makefile2:121: CMakeFiles/libsqfvm.dir/rule] Error 2
make.exe: *** [Makefile:130: libsqfvm] Error 2

Использование MinGW64 / gcc :

[  0%] Building CXX object CMakeFiles/libsqfvm.dir/src/Entry.cpp.obj
[  2%] Building CXX object CMakeFiles/libsqfvm.dir/src/arraydata.cpp.obj
[  4%] Building CXX object CMakeFiles/libsqfvm.dir/src/callstack_apply.cpp.obj
[  4%] Building CXX object CMakeFiles/libsqfvm.dir/src/callstack_count.cpp.obj
[  6%] Building CXX object CMakeFiles/libsqfvm.dir/src/callstack_exitwith.cpp.obj
[  8%] Building CXX object CMakeFiles/libsqfvm.dir/src/callstack_for.cpp.obj
In file included from C:\Development\Github\sqfvm\src\virtualmachine.h:11,
                 from C:\Development\Github\sqfvm\src\arraydata.cpp:3:
C:\Development\Github\sqfvm\src\dlops.h: In member function 'void* dlops::resolve(std::__cxx11::string)':
C:\Development\Github\sqfvm\src\dlops.h:65:11: error: invalid conversion from 'long long int (*)()' to 'void*' [-fpermissive]
    return res;
           ^~~
C:\Development\Github\sqfvm\src\dlops.h: In member function 'bool dlops::try_resolve(std::__cxx11::string, void**)':
C:\Development\Github\sqfvm\src\dlops.h:15:43: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
 #define DLOPS_LIB_SYM(H, N) GetProcAddress(H, N)
                             ~~~~~~~~~~~~~~^~~~~~
C:\Development\Github\sqfvm\src\dlops.h:72:13: note: in expansion of macro 'DLOPS_LIB_SYM'
   *outptr = DLOPS_LIB_SYM(handle, name.c_str());
             ^~~~~~~~~~~~~
In file included from C:\Development\Github\sqfvm\src\virtualmachine.h:11,
                 from C:\Development\Github\sqfvm\src\callstack_count.cpp:2:
C:\Development\Github\sqfvm\src\dlops.h: In member function 'void* dlops::resolve(std::__cxx11::string)':
C:\Development\Github\sqfvm\src\dlops.h:65:11: error: invalid conversion from 'long long int (*)()' to 'void*' [-fpermissive]
    return res;
           ^~~
C:\Development\Github\sqfvm\src\dlops.h: In member function 'bool dlops::try_resolve(std::__cxx11::string, void**)':
C:\Development\Github\sqfvm\src\dlops.h:15:43: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
 #define DLOPS_LIB_SYM(H, N) GetProcAddress(H, N)
                             ~~~~~~~~~~~~~~^~~~~~
C:\Development\Github\sqfvm\src\dlops.h:72:13: note: in expansion of macro 'DLOPS_LIB_SYM'
   *outptr = DLOPS_LIB_SYM(handle, name.c_str());
             ^~~~~~~~~~~~~
In file included from C:\Development\Github\sqfvm\src\virtualmachine.h:11,
                 from C:\Development\Github\sqfvm\src\callstack_exitwith.cpp:2:
C:\Development\Github\sqfvm\src\dlops.h: In member function 'void* dlops::resolve(std::__cxx11::string)':
C:\Development\Github\sqfvm\src\dlops.h:65:11: error: invalid conversion from 'long long int (*)()' to 'void*' [-fpermissive]
    return res;
           ^~~
C:\Development\Github\sqfvm\src\dlops.h: In member function 'bool dlops::try_resolve(std::__cxx11::string, void**)':
C:\Development\Github\sqfvm\src\dlops.h:15:43: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
 #define DLOPS_LIB_SYM(H, N) GetProcAddress(H, N)
                             ~~~~~~~~~~~~~~^~~~~~
C:\Development\Github\sqfvm\src\dlops.h:72:13: note: in expansion of macro 'DLOPS_LIB_SYM'
   *outptr = DLOPS_LIB_SYM(handle, name.c_str());
             ^~~~~~~~~~~~~
In file included from C:\Development\Github\sqfvm\src\virtualmachine.h:11,
                 from C:\Development\Github\sqfvm\src\callstack_for.cpp:5:
C:\Development\Github\sqfvm\src\dlops.h: In member function 'void* dlops::resolve(std::__cxx11::string)':
C:\Development\Github\sqfvm\src\dlops.h:65:11: error: invalid conversion from 'long long int (*)()' to 'void*' [-fpermissive]
    return res;
           ^~~
C:\Development\Github\sqfvm\src\dlops.h: In member function 'bool dlops::try_resolve(std::__cxx11::string, void**)':
C:\Development\Github\sqfvm\src\dlops.h:15:43: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
 #define DLOPS_LIB_SYM(H, N) GetProcAddress(H, N)
                             ~~~~~~~~~~~~~~^~~~~~
C:\Development\Github\sqfvm\src\dlops.h:72:13: note: in expansion of macro 'DLOPS_LIB_SYM'
   *outptr = DLOPS_LIB_SYM(handle, name.c_str());
             ^~~~~~~~~~~~~
In file included from C:\Development\Github\sqfvm\src\virtualmachine.h:11,
                 from C:\Development\Github\sqfvm\src\callstack_apply.cpp:3:
C:\Development\Github\sqfvm\src\dlops.h: In member function 'void* dlops::resolve(std::__cxx11::string)':
C:\Development\Github\sqfvm\src\dlops.h:65:11: error: invalid conversion from 'long long int (*)()' to 'void*' [-fpermissive]
    return res;
           ^~~
C:\Development\Github\sqfvm\src\dlops.h: In member function 'bool dlops::try_resolve(std::__cxx11::string, void**)':
C:\Development\Github\sqfvm\src\dlops.h:15:43: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
 #define DLOPS_LIB_SYM(H, N) GetProcAddress(H, N)
                             ~~~~~~~~~~~~~~^~~~~~
C:\Development\Github\sqfvm\src\dlops.h:72:13: note: in expansion of macro 'DLOPS_LIB_SYM'
   *outptr = DLOPS_LIB_SYM(handle, name.c_str());
             ^~~~~~~~~~~~~
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:77: CMakeFiles/libsqfvm.dir/src/arraydata.cpp.obj] Error 1
make.exe[3]: *** Waiting for unfinished jobs....
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:147: CMakeFiles/libsqfvm.dir/src/callstack_exitwith.cpp.obj] Error 1
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:133: CMakeFiles/libsqfvm.dir/src/callstack_count.cpp.obj] Error 1
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:161: CMakeFiles/libsqfvm.dir/src/callstack_for.cpp.obj] Error 1
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:119: CMakeFiles/libsqfvm.dir/src/callstack_apply.cpp.obj] Error 1
In file included from C:\Development\Github\sqfvm\src\virtualmachine.h:11,
                 from C:\Development\Github\sqfvm\src\Entry.cpp:2:
C:\Development\Github\sqfvm\src\dlops.h: In member function 'void* dlops::resolve(std::__cxx11::string)':
C:\Development\Github\sqfvm\src\dlops.h:65:11: error: invalid conversion from 'long long int (*)()' to 'void*' [-fpermissive]
    return res;
           ^~~
C:\Development\Github\sqfvm\src\dlops.h: In member function 'bool dlops::try_resolve(std::__cxx11::string, void**)':
C:\Development\Github\sqfvm\src\dlops.h:15:43: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
 #define DLOPS_LIB_SYM(H, N) GetProcAddress(H, N)
                             ~~~~~~~~~~~~~~^~~~~~
C:\Development\Github\sqfvm\src\dlops.h:72:13: note: in expansion of macro 'DLOPS_LIB_SYM'
   *outptr = DLOPS_LIB_SYM(handle, name.c_str());
             ^~~~~~~~~~~~~
make.exe[3]: *** [CMakeFiles\libsqfvm.dir\build.make:63: CMakeFiles/libsqfvm.dir/src/Entry.cpp.obj] Error 1
make.exe[2]: *** [CMakeFiles\Makefile2:109: CMakeFiles/libsqfvm.dir/all] Error 2
make.exe[1]: *** [CMakeFiles\Makefile2:121: CMakeFiles/libsqfvm.dir/rule] Error 2
make.exe: *** [Makefile:130: libsqfvm] Error 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...