I'm trying to build a simple vulkan example with Netbeans 8.0.2 using MinGW64 5.3.0. But for some reason, it doesn't seem to want to find the glf3.dll file even though the dependency locations and file names have been specified in the linker options.
Error message:
C:\Tools\MinGW\msys\1.0\bin\make.exe -f Makefile CONF=Debug
"/C/Tools/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/Users/gkovalechyn/Documents/NetBeansProjects/VulkanTests'
"/C/Tools/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW_64-Windows/vulkantests.exe
make.exe[2]: Entering directory `/c/Users/gkovalechyn/Documents/NetBeansProjects/VulkanTests'
mkdir -p build/Debug/MinGW_64-Windows
rm -f "build/Debug/MinGW_64-Windows/main.o.d"
g++ -m64 -std=c++11 -c -g -I../../../../../Libraries/glm -I../../../../../Libraries/glfw-3.2.bin.WIN64/include -I../../../../../Tools/VulkanSDK/1.0.17.0/Include -MMD -MP -MF "build/Debug/MinGW_64-Windows/main.o.d" -o build/Debug/MinGW_64-Windows/main.o main.cpp
make.exe[2]: *** No rule to make target `glfw3.dll', needed by `dist/Debug/MinGW_64-Windows/vulkantests.exe'. Stop.
make.exe[2]: Leaving directory `/c/Users/gkovalechyn/Documents/NetBeansProjects/VulkanTests'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/c/Users/gkovalechyn/Documents/NetBeansProjects/VulkanTests'
make.exe": *** [.build-impl] Error 2
Linker settings:
Proof that the DLL exists in that folder:
Solved it myself. I had to tell Netbeans the exact path to the libraries instead of adding them as additional dependencies.
So basically, go to the project properties, Build -> Linker -> Libraries. From there add the libraries FILES, not the library and it should work.
Related
I want to learn to use shaders and therefore created a new C++ project on Netbeans (ver. 8.0.2).
I want to include the GLFW and the GLEW Library like stated in this tutorial: http://www.learnopengl.com/#!Getting-started/Creating-a-window
I think i included the librarys successfully. (Netbeans shows no error when using #include <GL\glew.h> or #include <GLFW\glfw3.h>, so i think it finds all the files).
My System: Windows 10 x64, using GNU gcc compiler via cygwin
Now here is the problem:
When i try to run the program, there is the following output:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/c/Users/Erik/programming/projects/FinallyShaders'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin-Windows/finallyshaders.exe
make[2]: Entering directory '/cygdrive/c/Users/Erik/programming/projects/FinallyShaders'
mkdir -p build/Debug/Cygwin-Windows
rm -f "build/Debug/Cygwin-Windows/main.o.d"
gcc -c -g -include /cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/GL -include /cygdrive/C/Users/Erik/programming/Libraries/glfw-3.1.2.bin.WIN32/glfw-3.1.2.bin.WIN32/include/GLFW -MMD -MP -MF "build/Debug/Cygwin-Windows/main.o.d" -o build/Debug/Cygwin-Windows/main.o main.c
cc1: fatal error: /cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/GL: No such file or directory
compilation terminated.
nbproject/Makefile-Debug.mk:66: recipe for target 'build/Debug/Cygwin-Windows/main.o' failed
make[2]: *** [build/Debug/Cygwin-Windows/main.o] Error 1
make[2]: Leaving directory '/cygdrive/c/Users/Erik/programming/projects/FinallyShaders'
nbproject/Makefile-Debug.mk:59: recipe for target '.build-conf' failed
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory '/cygdrive/c/Users/Erik/programming/projects/FinallyShaders'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 722ms)
It seems to fail because the gcc compiler (or more precisely the cc1 part of it) can't find the include-directory for the library. But, as stated, the path is correct. When using cd <the path that cannot be found> everything works and cygwin finds this path.
(My program does nothing but calling printf() until now, that shouldn't be the problem)
Does anybody know what this could mean and how to solve this?
Thanks for your help
Erik Brendel
Your failing compiler commandline is:
gcc -c -g \
-include /cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/GL \
-include /cygdrive/C/Users/Erik/programming/Libraries/glfw-3.1.2.bin.WIN32/glfw-3.1.2.bin.WIN32/include/GLFW \
-MMD -MP -MF "build/Debug/Cygwin-Windows/main.o.d" \
-o build/Debug/Cygwin-Windows/main.o main.c
To fix the reported error:
cc1: fatal error: /cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/GL: No such file or directory
it should be:
gcc -c -g \
-I/cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/GL \
-I/cygdrive/C/Users/Erik/programming/Libraries/glfw-3.1.2.bin.WIN32/glfw-3.1.2.bin.WIN32/include/GLFW \
-MMD -MP -MF "build/Debug/Cygwin-Windows/main.o.d" \
-o build/Debug/Cygwin-Windows/main.o main.c
You have confused the compiler options -include and -I. See the documentation of
these options
Here is a pretty good introductory tutorial to the use of GCC
In the Netbeans project properties, the include search-directories should be
entered in Build -> C Compiler -> Include Directories, not Include Headers.
Are you configuring the proyect linker for Netbeans?? This means telling the IDE you will be using libraries that are not added by default with just the include command, for example the math.h library(remember you had to compile with -lm via command promp, it's the same thing).
This can be done by going to run-proyect configuration-customize-Linker-Libraries(you click on the button with says ...).
Then you click on add pkgconfig library or standard(for something like math.h or pthread in unix systems), and search for the library you wish to add.
I am running on a Windows 7 64 laptop
And trying to develop C++ with NetBeans.
I really know very little about makefiles or cygwin or this whole ecosystem, so it is a mystery to me.
Least year I installed NetBeans (8.0) it worked fine.
Yesterday I tried to use it but it seems to have stopped working.
Possibly this is because I tried a lot of things to try to get NDK development to work for Eclipse and moved things and or changed critical system variables.
I failed in this but probably messed up my system still farther.
I tried to install the new version of NetBeans (8.1) and I got all sorts of messages about the JDK.
Despite fighting with that for a few hours I was unable to fix these messages however it seems to let me open a simple program and try to compile it but the compile fails yet again.
Since the last time I used NetBeans I also installed, among other things, Visual C++ 2015 (at least this worked for the NDK work).
Help !
int main(int argc, char** argv) {
return 0;
}
When I press the hammer and broom icon (clean and compile) I get these error messages:
"/C/MinGW/MSYS/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE=
SUBPROJECTS= .clean-conf
make.exe[1]: Entering directory `/c/Users/Andre/Documents/NetBeansProjects/hello compiler'
rm -f -r build/Debug
rm -f dist/Debug/MinGW-Windows/hello_compiler.exe
make.exe[1]: Leaving directory `/c/Users/Andre/Documents/NetBeansProjects/hello compiler'
CLEAN SUCCESSFUL (total time: 853ms)
"/C/MinGW/MSYS/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/Users/Andre/Documents/NetBeansProjects/hello compiler'
"/C/MinGW/MSYS/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/hello_compiler.exe
make.exe[2]: Entering directory `/c/Users/Andre/Documents/NetBeansProjects/hello compiler'
mkdir -p build/Debug/MinGW-Windows
rm -f "build/Debug/MinGW-Windows/main.o.d"
g++ -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/main.o.d" -o build/Debug/MinGW-Windows/main.o main.cpp
make.exe[2]: *** [build/Debug/MinGW-Windows/main.o] Error 1
make.exe[2]: Leaving directory `/c/Users/Andre/Documents/NetBeansProjects/hello compiler'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/c/Users/Andre/Documents/NetBeansProjects/hello compiler'
make.exe": *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 960ms)
Does anyone even know how to interpret this output?
Thanks
Andre'
As commented by M.M, MinGw doesn't support blanks in path names. Using a path without such should work.
I'm in the final stages (I hope) of porting an old Windows XP C/C++ program to LINUX. I edited and tested a C++ class in the file DateTime.cpp. In my test project it worked so I applied the edits to my working project. When I make the project I get an error that I don't understand:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/home/programmer/NetBeansProjects/Flight4'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/flight4
make[2]: Entering directory `/home/programmer/NetBeansProjects/Flight4'
mkdir -p build/Debug/GNU-Linux-x86
rm -f "build/Debug/GNU-Linux-x86/DateTime.o.d"
g++ -ffreestanding -c -include /usr/local/include -MMD -MP -MF "build/Debug/GNU-Linux-x86/DateTime.o.d" -o build/Debug/GNU-Linux-x86/DateTime.o DateTime.cpp
cc1plus: fatal error: /usr/local/include: No such file or directory
compilation terminated.
/usr/local/include exists; DateTime.cpp and DateTime.hpp are in the local project directory
/home/programmer/NetBeansProjects/Flight4
The project uses a couple of .so libraries in /usr/local/lib with their header files in /usr/local/include.
I've not coded in C/C++ for about 5 years now and when I did I used a RAD so I'm not skilled with makefiles.
Edit: Etan's comment was right on the button: I had added /usr/local/bin to the wrong spot in the properties wizard. Moving it to the correct field in the NetBeans Properties wizard fixed the problem.
I used the precompiled version of GLFW for windows. I use netbeans and i can't resolve this error.
"/E/Develop/Util/msys/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/e/Develop/Project/Netbeans/C++/CppApplication_1'
"/E/Develop/Util/msys/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-w64_x64_-posix-seh-Windows/cppapplication_1.exe
make.exe[2]: Entering directory `/e/Develop/Project/Netbeans/C++/CppApplication_1'
mkdir -p build/Debug/MinGW-w64_x64_-posix-seh-Windows
rm -f "build/Debug/MinGW-w64_x64_-posix-seh-Windows/main.o.d"
g++ -c -g -I/E/Develop/Library/C++/GLFW\ 3.0.4/include -MMD -MP -MF "build/Debug/MinGW-w64_x64_-posix-seh-Windows/main.o.d" -o build/Debug/MinGW-w64_x64_-posix-seh-Windows/main.o main.cpp
mkdir -p dist/Debug/MinGW-w64_x64_-posix-seh-Windows
g++ -o dist/Debug/MinGW-w64_x64_-posix-seh-Windows/cppapplication_1 build/Debug/MinGW-w64_x64_-posix-seh-Windows/main.o -L../../../../Library/C++/GLFW\ 3.0.4/lib-mingw -L../../../../Compiler/C++/MinGW-w64\(x64\)-posix-seh/x86_64-w64-mingw32/lib -lglfw3 -lglfw3dll
e:/Develop/Compiler/C++/MinGW-w64(x64)-posix-seh/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lglfw3dll
collect2.exe: error: ld returned 1 exit status
make.exe[2]: *** [dist/Debug/MinGW-w64_x64_-posix-seh-Windows/cppapplication_1.exe] Error 1
make.exe[2]: Leaving directory `/e/Develop/Project/Netbeans/C++/CppApplication_1'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/e/Develop/Project/Netbeans/C++/CppApplication_1' make.exe": *** [.build-impl] Error 2
i add the directory and linked the Libraries like this
this is the code
how can i fix this?
The GLFW has two versions of libraries - static and dynamic (DLL). If you want to link with the static library, then you won't have to include the glfw3dll (which is a DLL link library) into the list of libraries. Please see the Building programs that use GLFW for more info. They also mention other libraries you need to link to.
i try to link mysql-connector 1.1.3 in Netbeans (7.3, Windows 7) with Mingw-Compiler to my c++ Project.
In the project properties i have add all mysql-connector directories (include, lib, cppcon) under "included Directorys" and under Linker "Additionell Linker Directorys". I added the boost libs to.
But in the Compiler Output say always:
fatal error: mysql_connection.h: No such file or directory
Sorry for my poor english and thanks for help...
the complete output:
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory /cygdrive/c/Users/Toni/Desktop/dev/Wiesel/new/tests/sql_test2'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/sql_test2.exe
make[2]: Entering directory/cygdrive/c/Users/Toni/Desktop/dev/Wiesel/new/tests/sql_test2'
mkdir -p build/Debug/MinGW-Windows
rm -f build/Debug/MinGW-Windows/main.o.d
g++ -c -g -I/D/libs/mysql-connector-c++-noinstall-1.1.3-win32 -I/D/libs/mysql-connector-c++-noinstall-1.1.3-win32/include -I/D/libs/mysql-connector-c++-noinstall-1.1.3-win32/include/cppconn -I/D/libs/mysql-connector-c++-noinstall-1.1.3-win32/lib -I/D/libs/boost_1_53_0 -I/D/libs/boost_1_53_0/boost -I/D/libs/boost_1_53_0/libs -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -o build/Debug/MinGW-Windows/main.o main.cpp
main.cpp:9:30: fatal error: mysql_connection.h: No such file or directory
compilation terminated.
nbproject/Makefile-Debug.mk:66: recipe for target build/Debug/MinGW-Windows/main.o' failed
make[2]: [build/Debug/MinGW-Windows/main.o] Error 1 (ignored)
mkdir -p dist/Debug/MinGW-Windows
g++ -o dist/Debug/MinGW-Windows/sql_test2 build/Debug/MinGW-Windows/main.o -L/D/libs/boost_1_53_0/boost -L/D/libs/boost_1_53_0/libs -L/D/libs/mysql-connector-c++-noinstall-1.1.3-win32 -L/D/libs/mysql-connector-c++-noinstall-1.1.3-win32/include -L/D/libs/mysql-connector-c++-noinstall-1.1.3-win32/include/cppconn -L/D/libs/mysql-connector-c++-noinstall-1.1.3-win32/lib -lmysqlcppconn -lmysqlcppconn-static -lmysqlcppconn -static
g++.exe: error: build/Debug/MinGW-Windows/main.o: No such file or directory
nbproject/Makefile-Debug.mk:62: recipe for targetdist/Debug/MinGW-Windows/sql_test2.exe' failed
make[2]: [dist/Debug/MinGW-Windows/sql_test2.exe] Error 1 (ignored)
make[2]: Leaving directory /cygdrive/c/Users/Toni/Desktop/dev/Wiesel/new/tests/sql_test2'
make[1]: Leaving directory/cygdrive/c/Users/Toni/Desktop/dev/Wiesel/new/tests/sql_test2'
This should be what you're looking for:
A library would normally reside in its own installation directory so you would need to point NB to where that is. If you right-click the project name in the "Projects" window, you'll have a Properties option.
Select the Build/C++ compiler option to add the directory for the .h files.
Select the Build/Linker to add the directory for the dll file.
Include C++ library in Netbeans 7.0