[Interest] Mixing C and C++ using qmake, jom, and MSVC2008 ?

Ed Sutton ESutton at fescorp.com
Tue Jan 31 23:37:56 CET 2012


Never mind, solved ( or soon will be solved ).

Some C files were being included in the Makefile output, others not. Something must be messed up with my guards in some C files.

Anyway, sorry for the added noise.

-Ed





On Jan 31, 2012, at 3:59 PM, Ed Sutton wrote:

> My resulting Makefile.Debug omits all *.c files .  Does anyone have any Qt project examples of mixing C and C++ using MSVC?
> 
> Thanks in advance for any direction,
> 
> -Ed
> 
> 
> ***************************************************
> 
> File: myQtProject.pro
> 
> ***************************************************
> 
> ------------------------------------------------------------------------
> sources += main.cpp \
>                    utility.c
> 
> 
> win32 {
> 
>    message( "=====================" )
> 
>    message( "Build Type: WIN32" )
> 
>    message( "=====================" )
> 
>    #DEFINES += APL=0 IBM=1 LIN=0
> 
>    contains(QWT_CONFIG, QwtDll) {
> 
>        DEFINES    += QT_DLL QWT_DLL
> 
>    }
> 
>    !win32-msvc2008:!win32-msvc2010 {
> 
>        QMAKE_CXXFLAGS += -Werror -Wall -Wextra -pedantic
> 
>        # Use the above C warnings for C++ as well
> 
>        QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
> 
>    } else {
> 
>        CONFIG += warn_on
> 
>        #disable the deprecated warnings that make writing standards-compliant code impossible
> 
>        QMAKE_CXXFLAGS += -wd4996
> 
>        QMAKE_LFLAGS += /NODEFAULTLIB:msvcrt.lib
> 
>        QMAKE_LFLAGS += /NODEFAULTLIB:msvcprt.lib
> 
>        DEFINES += NOMINMAX
> 
>        CONFIG += debug_and_release
> 
>        CONFIG += build_all
> 
>    }
> 
> }
> 
> 
> ***************************************************
> 
> File: Makefile.Debug
> 
> ***************************************************
> 
> 
> 
> 
> #############################################################################
> 
> # Makefile for building: battery-exerciser-manager
> 
> # Generated by qmake (2.01a) (Qt 4.7.4) on: Tue Jan 31 15:59:00 2012
> 
> # Project:  Battery_Exerciser_Client.pro
> 
> # Template: app
> 
> #############################################################################
> 
> ####### Compiler, tools and options
> 
> CC            = @echo compiling $< && cl
> 
> CXX           = @echo compiling $< && cl
> 
> DEFINES       = -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DDEBUG -DQT_DLL -DQWT_DLL -DNOMINMAX -DQT_DLL -DQT_NO_KEYWORDS -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT
> 
> CFLAGS        = -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -W3 $(DEFINES)
> 
> CXXFLAGS      = -nologo -Zm200 -Zc:wchar_t- -wd4996 -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc $(DEFINES)
> 
> INCPATH       = -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtCore" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtNetwork" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtGui" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtXml" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtSvg" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include" -I"..\common\include" -I"..\Battery_Exerciser_Server\src" -I"src" -I"..\SCPI_API\include" -I"..\SCPI_Battery_Exerciser\include" -I"..\SCPI_Battery_Exerciser\src" -I"..\common\externals\lib\qwt\src" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\ActiveQt" -I"obj" -I"ui" -I"..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\mkspecs\win32-msvc2008"
> 
> LINK          = @echo linking $@ && link
> 
> LFLAGS        = /LIBPATH:"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib" /NOLOGO /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcprt.lib /DEBUG /MANIFEST /MANIFESTFILE:"obj\battery-exerciser-manager.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /VERSION:0.2240
> 
> LIBS          = c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\qtmaind.lib /LIBPATH:C:/projects/NTI_Battery_Exerciser/Battery_Exerciser_Client/../common/externals/lib/qwt/lib C:/projects/NTI_Battery_Exerciser/Battery_Exerciser_Client/../common/externals/lib/qwt/lib\qwtd.lib c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\QtSvgd4.lib c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\QtXmld4.lib c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\QtGuid4.lib c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\QtNetworkd4.lib c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\QtCored4.lib obj\resources.res /LIBPATH:C:\OpenSSL-Win32_full\lib
> 
> QMAKE         = c:\qtsdk\desktop\qt\4.7.4\msvc2008\bin\qmake.exe
> 
> IDC           = c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin\idc.exe
> 
> IDL           = midl
> 
> ZIP           = zip -r -9
> 
> DEF_FILE      =
> 
> RES_FILE      = obj\resources.res
> 
> COPY          = copy /y
> 
> COPY_FILE     = $(COPY)
> 
> COPY_DIR      = xcopy /s /q /y /i
> 
> DEL_FILE      = del
> 
> DEL_DIR       = rmdir
> 
> MOVE          = move
> 
> CHK_DIR_EXISTS= if not exist
> 
> MKDIR         = mkdir
> 
> INSTALL_FILE    = $(COPY_FILE)
> 
> INSTALL_PROGRAM = $(COPY_FILE)
> 
> INSTALL_DIR     = $(COPY_DIR)
> 
> ####### Output directory
> 
> OBJECTS_DIR   = obj
> 
> ####### Files
> 
> SOURCES       = src\main.cpp
> 
> 
> 
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest


-Ed




More information about the Interest mailing list