!!!Problem mit c++ makefile!!!



  • Hi c++ Freaks!

    Also ich bin ein Newbie in Sache "c++ Programmierung" . Wenn ich in der kommandozeile "make clear" eintippe kommt diese Meldung :

    Fatal: 'clear' does not exist - don't know how to make it

    Mein Betriebssystem ist WindowsXP Professional. Ich hab mir das Borland C++ Builder auf meinem System gepackt. Den Path hab ich unter "Umgebungsvariablen" auch schon eingestellt. Linken und Compilieren funktioniert einwandfrei. Nur das mit dem make nicht. Habe nirgends eine lösung finden können. Hoffe ihr könnt mir helfen.

    pS:

    GaripYolcu



  • GaripYolcu schrieb:

    Fatal: 'clear' does not exist - don't know how to make it

    Heisst nur dass es kein target clear in deinem makefile gibt.

    versuch mal

    make clean
    

    😉
    Kurt



  • Hi Freaks nochmal!

    Bitte schreibt die Anleitung wie ich dieses Problem beheben kann, woran der Fehler liegt. Danke im Voraus!

    pS:

    GaripYolcu



  • Hi!

    Kurt danke das du mir hilfst aber auch "make clean" funzt nich. Da kommt dann die gleiche fehlermeldung. Das "clean" nicht existiert.

    pS:

    GaripYolcu



  • GaripYolcu schrieb:

    Hi Freaks nochmal!

    Bitte schreibt die Anleitung wie ich dieses Problem beheben kann, woran der Fehler liegt. Danke im Voraus!

    pS:

    GaripYolcu

    schreib ne zeile in dein makefile

    clear: clean
    

    Kurt
    Edit: üblicherweise gibts ein clean. Wenn nicht makefile posten.



  • Hi Kurt!

    Wo schreibe ich das "clean : clean" hinein?? wie? Ich habe nur eine "make.exe" datei vor mir liegen.

    pS

    GaripYolcu



  • Unsere postings haben sich überschnitten.
    Poste das makefile
    Kurt



  • Wer soll das makefile posten? Kurt oder ich?

    pS:

    GaripYolcu
    ( man ist das peinlich )



  • GaripYolcu schrieb:

    Wo schreibe ich das "clean : clean" hinein?? wie? Ich habe nur eine "make.exe" datei vor mir liegen.

    Es muss irgend eine datei "Makefile" oder "makefile" oder "projektname.mak" geben.
    Kurt



  • Hi!

    Ich hab ne datei gefunden die "builtins.mak" heißt, ist sie das?

    pS

    GaripYolcu



  • GaripYolcu schrieb:

    Ich hab ne datei gefunden die "builtins.mak" heißt, ist sie das?

    Glaub ich nicht. Müsste in deinem projekt-verzeichnis liegen.
    Kurt



  • Hi!

    Ich hab eine Datei namens "Makefile" gefunden allerdings ohne dateiendung. Was mach ich nun damit??

    Ps:

    GaripYolcu



  • Antwort schreiben. Inhalt von Makefile einfügen. code-tags. Abschicken.
    Kurt



  • inhalt - makefile:

    #==========================================================================
    #
    #  makefile - makefile for examples
    #
    #==========================================================================
    #
    #  (c) Copyright 1994, 1995 Rogue Wave Software, Inc.
    #  ALL RIGHTS RESERVED
    #
    #  The software and information contained herein are proprietary to, and
    #  comprise valuable trade secrets of, Rogue Wave Software, Inc., which
    #  intends to preserve as trade secrets such software and information.
    #  This software is furnished pursuant to a written license agreement and
    #  may be used, copied, transmitted, and stored only in accordance with
    #  the terms of such license and with the inclusion of the above copyright
    #  notice.  This software and information or any other copies thereof may
    #  not be provided or otherwise made available to any other person.
    #
    #  Notwithstanding any other lease or license that may pertain to, or
    #  accompany the delivery of, this computer software and information, the
    #  rights of the Government regarding its use, reproduction and disclosure
    #  are as set forth in Section 52.227-19 of the FARS Computer
    #  Software-Restricted Rights clause.
    #
    #  Use, duplication, or disclosure by the Government is subject to
    #  restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
    #  Technical Data and Computer Software clause at DFARS 252.227-7013.
    #  Contractor/Manufacturer is Rogue Wave Software, Inc.,
    #  P.O. Box 2328, Corvallis, Oregon 97339.
    #
    #  This computer software and information is distributed with "restricted
    #  rights."  Use, duplication or disclosure is subject to restrictions as
    #  set forth in NASA FAR SUP 18-52.227-79 (April 1985) "Commercial
    #  Computer Software-Restricted Rights (April 1985)."  If the Clause at
    #  18-52.227-74 "Rights in Data General" is specified in the contract,
    #  then the "Alternate III" clause applies.
    #
    #==========================================================================
    #
    #  Makefile for the Rogue Wave Standard Library package, using
    #  Borland C++ with a Win32 target.
    #
    #  Note ONLY the Borland-supplied "make" command
    #  should be used.
    #
    #==========================================================================
    
    !include makeincl.inc
    
    ########################   Targets    #################################
    
    ALLEXES =                                                                     \
            accum.exe     \
            adj_diff.exe  \
            advance.exe   \
            alg1.exe      \
            alg2.exe      \
            alg3.exe      \
            alg4.exe      \
            alg5.exe      \
            alg6.exe      \
            alg7.exe      \
            auto_ptr.exe  \
            b_search.exe  \
            binders.exe   \
            bitset.exe    \
            calc.exe      \
            codecvt.exe   \
            collate.exe   \
            complex.exe   \
            complx.exe    \
            concord.exe   \
            copyex.exe    \
            count.exe     \
            ctype.exe     \
            deque.exe     \
            distance.exe  \
            eqlrange.exe  \
            equal.exe     \
            except.exe    \
            exceptn.exe   \
            filebuf.exe   \
            fill.exe      \
            find.exe      \
            find_end.exe  \
            find_f_o.exe  \
            for_each.exe  \
            fstream.exe   \
            funct_ob.exe  \
            generate.exe  \
            graph.exe     \
            gslc_ary.exe  \
            gslice.exe    \
            hasfacet.exe  \
            heap_ops.exe  \
            icecream.exe  \
            ifstream.exe  \
            includes.exe  \
            indr_ary.exe  \
            inr_prod.exe  \
            ins_itr.exe   \
            io_iter.exe   \
            isalnum.exe   \
            istbufit.exe  \
            istngstr.exe  \
            istream1.exe  \
            istrstre.exe  \
            lex_comp.exe  \
            limits.exe    \
            list.exe      \
            locale.exe    \
            map.exe       \
            mask_ary.exe  \
            max.exe       \
            max_elem.exe  \
            memfunc.exe   \
            memfunrf.exe  \
            merge.exe     \
            mismatch.exe  \
            moneyget.exe  \
            moneyput.exe  \
            monpunct.exe  \
            multimap.exe  \
            multiset.exe  \
            mutex.exe     \
            negator.exe   \
            nthelem.exe   \
            numget.exe    \
            numpunct.exe  \
            numput.exe    \
            ostbufit.exe  \
            ostream1.exe  \
            ostream2.exe  \
            p_queue.exe   \
            partsort.exe  \
            partsum.exe   \
            permute.exe   \
            pnt2fnct.exe  \
            prtition.exe  \
            queue.exe     \
            radix.exe     \
            remove.exe    \
            replace.exe   \
            rev_itr.exe   \
            reverse.exe   \
            rndshufl.exe  \
            rotate.exe    \
            search.exe    \
            set_diff.exe  \
            set_intr.exe  \
            set_s_di.exe  \
            set_unin.exe  \
            setex.exe     \
            sieve.exe     \
            slc_ary.exe   \
            slice.exe     \
            sort.exe      \
            spell.exe     \
            stack.exe     \
            stngstre.exe  \
            stocks.exe    \
            string.exe    \
            strngbuf.exe  \
            strstrbf.exe  \
            strstrea.exe  \
            swap.exe      \
            tele.exe      \
            timeget.exe   \
            timeput.exe   \
            toupper.exe   \
            trnsform.exe  \
            ul_bound.exe  \
            unique.exe    \
            usefacet.exe  \
            valarray.exe  \
            vector.exe    \
            widwork.exe   \
    
    all : rwstdmsg.dll messages.exe allobjs $(ALLEXES)
    all : allobjs $(ALLEXES)
    
    allobjs: $(ALLEXES:.exe=.obj)
    
    clean:
       -@if exist *.obj del *.obj                 >nul
       -@if exist *.lib del *.lib                 >nul
       -@if exist rwstdmsg.res del rwstdmsg.res   >nul
       -@if exist *.exe del *.exe                 >nul
       -@if exist *.dll del *.dll                 >nul
       -@if exist *.tds del *.tds                 >nul
       -@if exist $(PCHROOT).* del $(PCHROOT).*   >nul
    
    runall: all $(ALLEXES)
    #
    # Warning: there are quite a few exe's here that will run.  Also, several
    #          of the examples require input from stdin.
    #
        & $?
    
    ###########################  Explicit Rules #######################
    rwstdmsg.obj: rwstdmsg.cpp
        $(CPP) $(CPPFLAGS) -tWD$(TARGSUF) -c {$? }
    
    rwstdmsg.res: rwstdmsg.rc
        $(RC) $(RCFLAGS) $?
    
    rwstdmsg.dll: rwstdmsg.obj rwstdmsg.res
        start $(LINKER) $(LINKFLAGS) $(LINKSTARTUP) rwstdmsg.obj ,$*,,$(LINKLIBS),,rwstdmsg.res
    
    messages.exe: messages.obj rwstdmsg.dll
        $(CPP) $(CPPFLAGS) messages.obj rwstdmsg.lib
    
    ###########################  Implicit Rules #######################
    .cpp.obj:
        $(CPP) $(CPPFLAGS) -c {$? }
    
    .cpp.i:
        $(CPP32) $(CPPFLAGS) -c -Sr -Sd {$? }
    
    .obj.exe:
        $(CPP) $(CPPFLAGS) $<
    


  • valarray.exe  \
            vector.exe    \
            widwork.exe   \  <<-- das ist wahrscheinlich zu viel '\' entfernen
    
    all : rwstdmsg.dll messages.exe allobjs $(ALLEXES)
    #all : allobjs $(ALLEXES)        <<-- all gibts doppelt würde es mit # auskommentieren
    

    Du solltest das Makefile vor dem ändern besser sichern. Wenn dein editor tabs in leerzeichen umwandelt ist es kaputt.
    Kurt



  • Hi!

    Ich finds echt nett und super von euch das ihr mir helft aber das funzt nich. Es kommt immer noch die selbe meldung das "clear" nich gefunden wurde.

    pS:
    GaripYolcu



  • vielleicht weils

    clean:
       -@if exist *.obj del *.obj                 >nul
       -@if exist *.lib del *.lib                 >nul
       -@if exist rwstdmsg.res del rwstdmsg.res   >nul
       -@if exist *.exe del *.exe                 >nul
       -@if exist *.dll del *.dll                 >nul
       -@if exist *.tds del *.tds                 >nul
       -@if exist $(PCHROOT).* del $(PCHROOT).*   >nul
    

    clean und net clear heißt?
    oder wars einfach ein schreibfehler?



  • Hi!

    Noch ein Problem: Mein Editor speichert das geänderte makefile automatisch als ".txt" datei ab.

    mfG

    GaripYolcu



  • Rechtsklick -> umbenenen



  • kannst es auch mit

    make -f makefile.txt clean
    

    aufrufen
    Kurt


Anmelden zum Antworten