make: *** makefile. stop - c++

I am new to cmake, and when I compile the makefile using "make -j10" after cmake, it failed and turned out "make: *** makefile. stop." I am really confused. Thanks in advance for precious suggestions!
G:\code\c++\assignment2\code\test>mkdir build
G:\code\c++\assignment2\code\test>cd build
G:\code\c++\assignment2\code\test\build>cmake ..
-- Building for: Visual Studio 16 2019
-- The C compiler identification is MSVC 19.28.29912.0
-- The CXX compiler identification is MSVC 19.28.29912.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: G:/vs/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: G:/vs/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found Boost: G:/boost_1_75_0/ (found version "1.75.0") found components: timer chrono
-- Configuring done
-- Generating done
-- Build files have been written to: G:/code/c++/assignment2/code/test/build
G:\code\c++\assignment2\code\test\build>make -j10
make: *** makefile. stop.

Run cmake --build . -j 10 under your build directory.

You didn't build makefiles, you built Visual Studio project files, as can be seen from this line:
Building for: Visual Studio 16 2019
To instruct CMake to generate makefiles instead, use cmake's -G flag:
cmake .. -G "Unix Makefiles"
Or if you didn't intend to build makefiles, you can compile using the generated build system (in this case Visual Studio) as shown in aleck099's answer.

Related

When Cross Compiling (Linux to Windows) The Vulkan Loader There Are Many Undefined References to Vulkan Objects

When using the mingw-32 cmake the code from https://github.com/KhronosGroup/Vulkan-Loader fails to compile this is the cmake command I am using:x86_64-w64-mingw32-cmake -DVULKAN_HEADERS_INSTALL_DIR=/usr/x86_64-w64-mingw32/ -DVulkanRegistry_DIR=/usr/x86_64-w64-mingw32/share/vulkan/registry/ -DUSE_MASM=OFF ..
Which Outputs:
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/x86_64-w64-mingw32-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found VulkanHeaders: /usr/x86_64-w64-mingw32/include
-- Found VulkanRegistry: /usr/x86_64-w64-mingw32/share/vulkan/registry
-- Detected Vulkan Version 1.2.182
-- Looking for secure_getenv
-- Looking for secure_getenv - not found
-- Looking for __secure_getenv
-- Looking for __secure_getenv - not found
CMake Warning at loader/CMakeLists.txt:27 (message):
Using non-secure environmental lookups. This loader will not properly
disable environent variables when run with elevated permissions.
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.7.3")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/flippers2652/Documents/Temp/Vulkan-Loader/build
Output from make: https://pastebin.pl/view/7467739f
Thank you.
P.S. Distrobution is manjaro.
The problem was that I had a MASM assembler. Which caused it to attempt an assembly thing that it failed to do.

Cmake Error Compiling Hydrogen 0.9.7 Beta1

I am attempting to compile Hydrogen 0.9.7 beta 2 with Cmake and I keep getting a cmakelists.txt error: CMake Error at CMakeLists.txt:139 (MANDATORY_PKG):
Unknown CMake command "MANDATORY_PKG"
Reviewing the list of Cmake commands I cant find a command that corresponds to MANDATORY_PKG. Is this deprecated language?
Here is the output of the attempted build.
tinman13#tinman13-scythion:~/hydrogen-1.0.0-beta1/build$ sudo cmake /home/tinman13 /hydrogen-1.0.0-beta1/build
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
fatal: not a git repository (or any of the parent directories): .git
CMake Error at CMakeLists.txt:138 (INCLUDE):
INCLUDE could not find load file:
StatusSupportOptions
CMake Error at CMakeLists.txt:139 (MANDATORY_PKG):
Unknown CMake command "MANDATORY_PKG".
-- Configuring incomplete, errors occurred!
See also "/home/tinman13/hydrogen-1.0.0-beta1/build/CMakeFiles/CMakeOutput.log".
CMakeOutput.log is a large rambling file but i'll post it if you like.
Is there anything that can be done to rectify this? Can i switch to an older version of CMake? Googling produces very little on the topic of unknown CMake commands and nothing related to Hydrogen. Any help would be greatly appreciated.

CMake with mingw on Windows 10: Detecting CXX compiler ABI info - failed

I want to use cmake to create MinGW Makefiles on windows 10. I have installed mingw and I can use mingw32-make and g++ commands without issue.
The test project is a super simple CMakeLists.txt file:
cmake_minimum_required(VERSION 3.10)
project(hello-world)
add_executable(hello-world main.cpp)
and a simple main.cpp file:
#include <iostream>
int main() {
std::cout << "hello Visual Studio Code! :)" << '\n';
return 0;
}
These are the commands I use to create the makefiles:
>> mkdir build
>> cd build
>> cmake -G "MinGW Makefiles" ..
This is where I get errors:
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.10/Modules/CMakeDetermineCompilerId.cmake:495 (file):
file STRINGS file
"C:/Projects/test/build/CMakeFiles/3.10.1/CompilerIdCXX/a.exe" cannot be read.
... some more errors in the test files
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete, errors occurred!
This is from the error log:
The CXX compiler identification could not be found in "C:/Projects/test/build/CMakeFiles/3.10.1/CompilerIdCXX/a.exe"
What is the CXX compiler ABI info and how can it be, that there is a working CXX compiler detected but this fails?
Let me know if you need anymore info about the setup!
What turned out to be my culprit was Windows Defender! Turned that off and the CXX compiler ABI info - failed issue went away.
I used the CMake-GUI tool to figure out the missing tool dependencies. For example : CMAKE_ADDR2LINE was not set, once I pointed it to the correct location of addr2line.exe ,the errors were resolved.

GCC C++/G++ [NOT VC++] connect to MySQL on Windows 8.1 (MinGW/Cygwin) and Installing Connector/C++ from Source

Please help fix the error on Installing Connector/C++ from Source, while "make clean". There are two parts to the question:
Part 1 of the Question: What is the error (cdk/parser/CMakeFiles/cdk_parser.dir/flags.make) missing separator?
[E:\Working\SQL\MySQL\C++>git clone https://github.com/mysql/mysql-connector-cpp
Cloning into 'mysql-connector-cpp'...
remote: Counting objects: 16511, done.
remote: Total 16511 (delta 0), reused 0 (delta 0), pack-reused 16511
Receiving objects: 100% (16511/16511), 7.77 MiB | 48.00 KiB/s, done.
Resolving deltas: 100% (13018/13018), done.
Checking connectivity... done.
Checking out files: 100% (739/739), done.
E:\Working\SQL\MySQL\C++>cd mysql-connector-cpp
E:\Working\SQL\MySQL\C++\mysql-connector-cpp>"C:\Program Files\CMake\bin\cmake.exe" -G "MinGW Makefiles" -DWITH_BOOST="E:\Working\SQL\MySQL\C++\Boost\Unix-Varia
nts\boost_1_63_0"
-- The C compiler identification is GNU 5.1.0
-- The CXX compiler identification is GNU 5.1.0
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/g++.exe
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Building on system: Windows-6.3.9600 (AMD64)
Using cmake generator: MinGW Makefiles
Using 64bit generator
Building shared connector library
-- Boost version: 1.63.0
Configuring CDK as part of MySQL_CONCPP project
WITH_TESTS: OFF
CDK include path: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/include;E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/include
-- Performing Test HAVE_MOVE_SEMANTICS
-- Performing Test HAVE_MOVE_SEMANTICS - Failed
-- Boost version: 1.63.0
Configuring Protobuf build using cmake generator: MinGW Makefiles
-- The C compiler identification is GNU 5.1.0
-- The CXX compiler identification is GNU 5.1.0
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe
-- Check for working C compiler: C:/TDM-GCC-64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/g++.exe
-- Check for working CXX compiler: C:/TDM-GCC-64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
Using pthreads for protobuf code
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/protobuf
Protobuf include path: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/protobuf/protobuf-2.6.0/src
WITH_SSL: OFF
-- Performing Test HAVE_STATIC_ASSERT
-- Performing Test HAVE_STATIC_ASSERT - Failed
-- Performing Test HAVE_IS_SAME
-- Performing Test HAVE_IS_SAME - Failed
-- Performing Test HAVE_SHARED_PTR
-- Performing Test HAVE_SHARED_PTR - Failed
-- Looking for sys/endian.h
-- Looking for sys/endian.h - not found
-- Looking for sys/byteorder.h
-- Looking for sys/byteorder.h - not found
-adding static library: cdk_mysqlx_objs
-adding static library: cdk_proto_mysqlx_objs
-adding static library: cdk_foundation_objs
-adding static library: cdk_parser_objs
Merging static libraries into cdk:
- cdk
- protobuf-lite
- cdk_mysqlx_objs
- cdk_proto_mysqlx_objs
- cdk_foundation_objs
- cdk_parser_objs
Wrote configuration header: E:/Working/SQL/MySQL/C++/mysql-connector-cpp/cdk/include/mysql/cdk/config.h
Connector library name: mysqlcppconn2
Connector library will be installed at: lib64
Install location: C:/Users/Aspire/MySQL/MySQL Connector C++ 2.0
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Working/SQL/MySQL/C++/mysql-connector-cpp
E:\Working\SQL\MySQL\C++\mysql-connector-cpp>"C:\Program Files (x86)\GnuWin32\bin\make.exe" clean
cdk/parser/CMakeFiles/cdk_parser.dir/flags.make:6: *** missing separator. Stop.
make\[1\]: *** \[cdk/parser/CMakeFiles/cdk_parser.dir/clean\] Error 2
make: *** \[clean\] Error 2
E:\Working\SQL\MySQL\C++\mysql-connector-cpp>][1]
Please note that Boost has been installed successfully and is working fine as evident from the following output of example.cpp:
$ c++ /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/example.cpp -o example \
> -I /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/boost_1_63_0 \
> /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/boost_1_63_0/Boost-Build/boost/bin.v2/libs/regex/build/gcc-mingw-5.1.0/release/link-static/threading-multi/libboost_regex-mgw51-mt-1_63.a
$ ./example.exe < /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/jayne.txt
Will Success Spoil Rock Hunter?
Part 2 of the Question:
Also, tried in vain the GCC C++/G++ [NOT VC++] connect to MySQL on Windows 8.1 (MinGW/Cygwin) as in the Getting Started with Connector/C++: Usage Examples - Example1:
$ g++ -o Example1 Example1.cpp \
> -I /e/Working/SQL/MySQL/C++/Boost/Unix-Variants/boost_1_63_0 \
> -I/e/Working/SQL/MySQL/C++/mysql-connector-c++-noinstall-1.1.8-winx64/include \
> -I/e/Working/SQL/MySQL/C++/mysql-connector-c++-noinstall-1.1.8-winx64/include/cppconn \
> -L/e/Working/SQL/MySQL/C++/mysql-connector-c++-noinstall-1.1.8-winx64/lib/mysqlcppconn
C:\Users\Aspire\AppData\Local\Temp\ccDVNizG.o:Example1.cpp:(.text+0x4f): undefined reference to `__imp_get_driver_instance'
collect2.exe: error: ld returned 1 exit status
Please help explain the error: undefined reference to `__imp_get_driver_instance', although perhaps the wrong library (format) mysqlcppconn.lib (mysql-connector-c++-noinstall-1.1.8-winx64) linked while compiling, and possibly help resolve this error.

compiler seems cannot find boost/shared_ptr.hpp

I am using Mac with OS 10.11.6
I am trying to install OpenGV on my Mac. This is a part of dependencies that will be needed to build the OpenSfM library. So, what I did is:
brew install homebrew/science/ceres-solver
brew install boost-python
brew install eigen
git clone https://github.com/paulinus/opengv.git
cd opengv
mkdir build
cd build
cmake .. -DBUILD_TESTS=OFF -DBUILD_PYTHON=ON
make install
But I got this error:
In file included from /Users/hilman_dayo/opengv/src/relative_pose/modules/main.cpp:47:
/Users/hilman_dayo/opengv/include/opengv/math/Sturm.hpp:43:10: fatal error: 'boost/shared_ptr.hpp' file not found
#include <boost/shared_ptr.hpp>
^
1 error generated.
make[2]: *** [CMakeFiles/opengv.dir/src/relative_pose/modules/main.o] Error 1
make[1]: *** [CMakeFiles/opengv.dir/all] Error 2
make: *** [all] Error 2
How can I solve this? Already checked, and the file is there at /usr/local/include/boost/shared_ptr.hpp.
If it is ever needed, this is the output during cmake:
-- The C compiler identification is AppleClang 7.3.0.7030031
-- The CXX compiler identification is AppleClang 7.3.0.7030031
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Checking for C++11 compiler
-- Checking for C++11 compiler - available
-- Performing Test SUPPORTS_STD_CXX11
-- Performing Test SUPPORTS_STD_CXX11 - Success
-- Performing Test SUPPORTS_STD_CXX01
-- Performing Test SUPPORTS_STD_CXX01 - Success
-- Found Eigen: /usr/local/include/eigen3 (Required is at least version "2.91.0")
CMake Warning at /usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindBoost.cmake:743 (message):
Imported targets not available for Boost version 106200
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
/usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
python/CMakeLists.txt:2 (find_package)
-- Boost version: 1.62.0
-- Found the following Boost libraries:
-- python
-- Found PythonLibs: /usr/lib/libpython2.7.dylib (found version "2.7.10")
-- Found PythonInterp: /Users/hilman_dayo/.virtualenvs/cv/bin/python2.7 (found version "2.7.12")
-- Found NumPy: version "1.11.1" /Users/hilman_dayo/.virtualenvs/cv/lib/python2.7/site-packages/numpy/core/include
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
pyopengv
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /Users/hilman_dayo/opengv/build
OK. Comment by #usr1234567 give me a hint to find the answer. After a quick search, all I need to do is just execute this on the command line:
xcode-select --install