Solved - Error: dependent '..\..\..\Marvell\DiniCmos\includes\DiniCmos_interface.h' does not exist.
-
Hello,
As recommended by a vendor who sold me a PC Board and software, I'm using QT Creator to build a Windows static library to control and communicate with the board from the host computer. All the folders and the project file are ready to go (supposedly). I'd ask them this question but they seem unwilling to support their products. So, I downloaded, installed and opened Qt Creator, I loaded the project. All the files and the correct directory structure was shown in the Projects window. I click the green arrow and I get, in the Compile output window,Error: dependent '......\Marvell\DiniCmos\includes\DiniCmos_interface.h' does not exist..
Well the file is there. It does exist. I went through the project file carefully and the path is properly specified. So, after about 8 hours playing with this, I'm beside myself on why this is happening. The project file is below. I was wondering if anyone can give me a hint as to what they think might be going on? Thank you.
@
----------------------------------------------------------
QT PROJECT FOR BUILDING EMULIB LIBRARY FOR WIN32 and LINUX
----------------------------------------------------------
Set the compiler constant for standalone library mode
DEFINES += EMU_STANDALONE_LIBRARY
Set the type of project
TEMPLATE = lib
CONFIG += staticlibOptimization
QMAKE uses -g and no optimization in the debug configuration
QMAKE uses -O2 in the release configuration
Set Target
win32:CONFIG(debug,debug|release):TARGET = emulib_win32_dbg
win32:CONFIG(release,debug|release):TARGET = emulib_win32
unix:CONFIG(debug,debug|release):TARGET = emulib_linux_dbg
unix:CONFIG(release,debug|release):TARGET = emulib_linuxSet the target folder for resulting binaries
CONFIG(debug,debug|release):DESTDIR = .
CONFIG(release,debug|release):DESTDIR = .NOTE: BECAUSE WE DONT USE throw(), WE DEPEND ON ASSERT TO HALT PROGRAM EXECUTION
WHEN UNEXPECTED ERROR CONDITIONS OCCUR, THEREFORE WE DO NOT WANT TO DISABLE
CALLS TO assert() EVEN IN RELEASE BUILDS!
DO NOT Disable any assert() statements for production code
NO! CONFIG(release,debug|release):DEFINES += NDEBUG
###################################################################################
LIST ALL PROJECT DEPENDENCIES HERE
"SOURCES" and "HEADERS" ARE USED BY QT FOR THE BUILD
APPROPRIATE FILES ARE ADDED TO THESE BELOW THIS SECTION
FILES ARE SEPARATED BY GUI/CMD and WIN32/UNIX
###################################################################################
WIN32_SOURCES += ../source/EMULIB/emulib_os_dep_win32.cpp
UNIX_SOURCES += ../source/EMULIB/emulib_os_dep_linux.cppWIN32_HEADERS += ../source/EMULIB/../../../Drivers/windows_pci/GUIDs.h
../source/EMULIB/../../../Drivers/windows_pci/Ioctl.hUNIX_HEADERS += ../source/EMULIB/usbdrvlinux.h
SOURCES +=
../source/EMULIB/diniapi.cpp
../source/EMULIB/diniapi_direct.cpp
../source/EMULIB/diniapi_ethernet.cpp
../source/EMULIB/diniapi_pcie.cpp
../source/EMULIB/diniapi_usb.cpp
../source/EMULIB/diniboard.cpp
../source/EMULIB/diniboard_id.cpp
../source/EMULIB/interconnect_data.cpp
../project_qt/EMU_QT_VERSION.cppHEADERS +=
../source/EMULIB/diniapi.h
../source/EMULIB/diniboard.h
../source/EMULIB/dinicookie.h
../source/EMULIB/diniboard_id.h
../source/EMULIB/interconnect_data.h
../source/EMULIB/emulib_os_dep.h
../source/EMULIB/fpga_config_commands.h
../source/EMULIB/DiniCmos_interface.h../source/EMULIB/../../../../Marvell/DiniCmos/includes/DiniCmos_interface.h
###################################################################################
Select appropriate files for this build
QT -= gui
CONFIG -= app_bundle
win32:SOURCES += $$WIN32_SOURCES
unix:SOURCES += $$UNIX_SOURCES
win32:HEADERS += $$WIN32_HEADERS
unix:HEADERS += $$UNIX_HEADERSDisplay contents of CONFIG variable
message($$CONFIG)
@
[Edit: Wrapped code in @ tags -- mlong]
-
Well, I turned off the shadow build. I had to clean the folder holding the project file and copy the original files from the vendor's distribution. Then when I loaded the project into QT it presented me with the shadow build checkbox. Ther Compile Output is below. Not sure what it all means.
18:35:00: Running build steps for project emulib...
18:35:00: Starting: "c:\qtsdk\desktop\qt\4.8.1\msvc2010\bin\qmake.exe" C:\BackhusR\webjunk\DINI_Group\PurchasedBoardDocumentationPackage\DNDUALV6_PCIE4\Host_Software\emu\App\out_release\1.3.5\Software\emu\App\project_emulib\emulib.pro -r -spec win32-msvc2010 "CONFIG+=declarative_debug"
18:35:01: The process "c:\qtsdk\desktop\qt\4.8.1\msvc2010\bin\qmake.exe" exited normally.
18:35:01: Starting: "C:\QtSDK\QtCreator\bin\jom.exe"
'cl' is not recognized as an internal or external command,
operable program or batch file.
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DEMU_STANDALONE_LIBRARY -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\ActiveQt" -I"debug" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\rbackhus\AppData\Local\Temp\diniapi.obj.7676.62.jom
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DEMU_STANDALONE_LIBRARY -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\ActiveQt" -I"debug" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\rbackhus\AppData\Local\Temp\diniapi_ethernet.obj.7676.78.jom
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DEMU_STANDALONE_LIBRARY -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\ActiveQt" -I"debug" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\rbackhus\AppData\Local\Temp\diniapi_usb.obj.7676.93.jom
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DEMU_STANDALONE_LIBRARY -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\include\ActiveQt" -I"debug" -I"c:\QtSDK\Desktop\Qt\4.8.1\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\rbackhus\AppData\Local\Temp\diniboard_id.obj.7676.109.jom
jom: C:\BackhusR\webjunk\DINI_Group\PurchasedBoardDocumentationPackage\DNDUALV6_PCIE4\Host_Software\emu\App\out_release\1.3.5\Software\emu\App\project_emulib\Makefile.Debug [debug\diniapi.obj] Error 1
C:\QtSDK\QtCreator\bin\jom.exe -f Makefile.Debugjom 1.0.8 - empower your cores
jom: C:\BackhusR\webjunk\DINI_Group\PurchasedBoardDocumentationPackage\DNDUALV6_PCIE4\Host_Software\emu\App\out_release\1.3.5\Software\emu\App\project_emulib\Makefile [debug] Error 2
18:35:02: The process "C:\QtSDK\QtCreator\bin\jom.exe" exited with code 2.
Error while building project emulib (target: Desktop)
When executing build step 'Make' -
Well, problem solved. The vendor's manual was not clear that that the compilation has to be done with mingGW. The author alluded to mingGW in another section of the manual when talking about the QT creator tool itself, but like so much of this vendor's documentation and their source code, it is poorly written and often ambiguous. The author talked like QT Creator was configured by default to compile their library, which it is not. Well, another two days wasted.