我尝试构buildgitql 。
我已经安装了去,CMake和MinGW,并试图让他们在git bash下工作,但是当我在gitql目录中调用cmake时,我得到这个错误:
-- Building for: NMake Makefiles -- The C compiler identification is unknown CMake Error at CMakeLists.txt:14 (PROJECT): The CMAKE_C_COMPILER: cl is not a full path and was not found in the PATH. To use the NMake generator with Visual C++, cmake must be run from a shell that can use the compiler cl from the command line. This environment is unable to invoke the cl compiler. To fix this problem, run cmake from the Visual Studio Command Prompt (vcvarsall.bat). Tell CMake where to find the compiler by setting either the environment variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. -- Configuring incomplete, errors occurred! See also "C:/Go/src/github.com/cloudson/gitql/libgit2/CMakeFiles/CMakeOutput.log". See also "C:/Go/src/github.com/cloudson/gitql/libgit2/CMakeFiles/CMakeError.log". make: *** [prepare] B▒▒d 1
所以我试着用mingw指向gcc:
export CC=/c/MinGW/bin/gcc.exe
当我运行make我得到这个错误:-- Check for working C compiler: C:/MinGW/bin/gcc.exe CMake Error: Generator: execution of make failed. Make command was: "nmake" "/NOLOGO" "cmTC_14ff0\fast" -- Check for working C compiler: C:/MinGW/bin/gcc.exe -- broken CMake Error at C:/Program Files/CMake/share/cmake-3.7/Modules/CMakeTestCCompiler.cmake:51 (message): The C compiler "C:/MinGW/bin/gcc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Go/src/github.com/cloudson/gitql/libgit2/CMakeFiles/CMakeTmp Run Build Command:"nmake" "/NOLOGO" "cmTC_14ff0\fast" Generator: execution of make failed. Make command was: "nmake" "/NOLOGO" "cmTC_14ff0\fast" CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:14 (PROJECT) -- Configuring incomplete, errors occurred! See also "C:/Go/src/github.com/cloudson/gitql/libgit2/CMakeFiles/CMakeOutput.log". See also "C:/Go/src/github.com/cloudson/gitql/libgit2/CMakeFiles/CMakeError.log". make: *** [prepare] B▒▒d 1
我如何通知cmake使用make而不是nmake? 我已经安装在$PATH中的C:\Program Files (x86)\GnuWin32\bin中。
我也尝试调用cmake -G "MinGW Makefiles"但是我有这个错误:
CMake Error: The source directory "C:/Go/src/github.com/cloudson/gitql" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.
cmake -G "MinGW Makefiles"实际上是通知CMake您要使用MinGW的正确命令。
为了完整起见,你应该创建一个单独的文件夹,让我们称之为build ,并从它调用cmake进行外源构建:
cd /path/to/build cmake -G "MinGW Makefiles" /path/to/CMakeLists.txt
这里的问题是gitql没有提供任何CMakeLists.txt文件在存储库中,所以你不能使用CMake来构建它,除非你创建自己的项目文件。 您可以尝试从给定的Makefile ,并提出它作为拉请求。