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

Ed Sutton ESutton at fescorp.com
Tue Jan 31 22:59:09 CET 2012


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






More information about the Interest mailing list