kanedo

C++ Projekt mit Xcode 5 und make 0

Im Moment habe ich im Studium mehrere Praktika in denen ich C++ Programme entwickeln muss.

Abgenommen werden sie auf Linux Systemen und mit dem g++ Compiler. Nun benutze ich einen Mac und es bietet sich ja an die Apple IDE Xcode zu verwenden. Kostenlos und ansprechend ist Xcode ja. (Ich weiß, Xcode ist in mancherlei hinsicht scheiße, aber das soll nicht Inhalt des Artikels sein)

Um solche Projekte mit Xcode zu entwickeln schreibt man zu erst mal ein Makefile.

Ich habe ein Makefile auf Github. Das sollte das meiste abdecken. Man muss nur wenig anpassen (Abhängigkeiten zum Beispiel) und dann sollte das Funktionieren.

Nun legt man in Xcode ein neues Projekt an und wählt als Typ “External Build System” (OS X -> other)

Screen Shot 2014-04-18 at 16.55.40

Dann klickt ihr auf Next. Dort müsst ihr dann den Product-Name auswählen. Wenn ihr mein Makefile benutzt wird das der Name des Programms werden. Es ist völlig egal wie ihr das nennt. Wichtig ist nur noch, dass das Build-Tool auf /usr/bin/make steht (oder wo auch immer ihr make installiert habt)

Das Projekt ist nun angelegt.

Damit die Xcode-Autocompletion funktioniert muss man einen kleinen Workaround anwenden. Dazu legt ihr ein neues Target an

test_and_maschinelle_uebersetzung_and_Neuen_Beitrag_erstellen_‹_kanedo_net_—_WordPress

Das Template ist ein Command-Line Tool. Der Name ist egal (ich nenne es meistens $(PRODUCT_NAME)-doc, aber prinzipiell ist der name wieder egal. Als Typ wählt man natürlich C++ aus.

Nun ist nur noch wichtig, dass ihr immer alle Dateien sowohl zum Target $(PRODUCT_NAME) als auch zum Target $(PRODUCT_NAME)-doc hinzufügt. Dann funktioniert auch die Autocompletion von Xcode.

Legt nun eine neue Datei an (zum Beispiel main.cpp) und fügt sie zu allen Targets hinzu. Der Build mit CMD+B sollte soweit funktionieren (evtl wirft er einen Fehler wegen des fehlenden Assets Ordners. Den legt ihr entweder an oder wenn das nicht benötigt wird setzt WITH_COPY_ASSETS auf 0 im Makefile

Einmal Bauen mit CMD+B

Nun aber zum wichtigsten Grund warum man eine IDE verwenden will: Der Debugger.

Dazu passt man die Schemes an (CMD+<) und wählt für die Run-Configuration als Executable ‘other’. Das Öffnet einen Dateidialog. Dort navigiert ihr zu Debug und wählt die Datei die den Namen des Products hat aus.

Den Rest einfach so lassen. Wenn man jetzt einen Breakpoint setzt und CMD+R drückt, sollte der Debugger halten.

 

Links vom 6. April 2014 bis 13. April 2014 0

Und hier sind wieder interessante Links, die mir letzte Woche begegnet sind:

This post was generated with Readability Favorites

Heartbleed – neue Passwörter bringt der April 0


(xkcd: Heartbleed Explanation)
Was für eine Woche…Viele werden vom letzten OpenSSL Bug gehört haben. Heartbleed. Ich möchte gar nicht versuchen zu erklären was da passiert ist, ob das eine Hintertür war oder nicht. Das sollen andere machen.

Ich möchte nur darauf hinweisen: Dieser Fehler hat es erlaubt den Speicher auszulesen, in vielen Fällen auch das Passwort.
Mashable hat eine Liste aufgesetzt, welche Services betroffen sind. Schaut mal rein und ändert eure Passwörter!

Wer zudem noch ein Passwort überall benutzt sollte das auch bei allen anderen Diensten ändern.

(Im Moment hat 1Password gerade 50% Rabatt, falls jemand noch gezögert hat)

 

1Password (AppStore Link) 1Password
Hersteller: AgileBits Inc.
Freigabe: 17+
Preis: 7,99 €
1Password (AppStore Link) 1Password
Hersteller: AgileBits Inc.
Freigabe: 4+
Preis: 21,99 €

Links vom 30. März 2014 bis 6. April 2014 0

Und hier sind wieder interessante Links, die mir letzte Woche begegnet sind:

  • JS Comparison Table

    == (negated: !=) When using two equals signs for JavaScript equality testing, some funky conversions take place. === (negated: !==) When using three equals signs for JavaScript equality testing,…

  • MEPs vote to scrap roaming fees

    The cost of phone calls abroad has been gradually reduced by the EU The European Parliament has voted to scrap the roaming fees charged for using a mobile phone while abroad. Under the wide-ranging…

This post was generated with Readability Favorites

Links vom 16. März 2014 bis 30. März 2014 0

Und hier sind wieder interessante Links, die mir letzte Woche begegnet sind:

  • bot or not

    This website is a Turing test for poetry. You, the judge, have to guess whether the poem you’re reading is written by a human or by a computer. If you think a poem was written by a computer,…

  • Nutzungsbedingungen: Auch Google räumt sich das Recht für GMail-Zugriff ein – GWB

      Microsoft steht in den USA derzeit unter Beschuss, weil man sich dort nachweislich in Mail-Accounts von Nutzern eingeloggt und bei diesen spioniert bzw. mitgelesen hat – und dieses…

  • Soda Sequestration

    How much CO2 is contained in the world’s stock of bottled fizzy drinks? How much soda would be needed to bring atmospheric CO2 back to preindustrial levels? Brandon Seah For most of the history of…

  • Automating Layouts Bring Flipboard’s Magazine Style To Web And Windows

    Good layout design frames a story and impacts how you are informed by the content. For example, in the hallways of Sports Illustrated, editors hang up every page of the print edition to be reviewed…

  • Reheat Pizza in a Skillet to Bring Back Crispy Crusts

    Instead of microwaving your leftover cold pizza to make soggy hot pizza, reheat the pizza slices in a large skillet on medium heat for 4-5 minutes with a domed lid for the pizza made with aluminum…

This post was generated with Readability Favorites

Kurztipp: Multitouchgesten in Chrome abstellen 1

Alle die Chrome für Mac benutzen kennen die Geste mit 2 Fingern in der History zu blättern. Diese Geste gibt es auch für Safari und andere. Das Problem bei Chrome ist: Es ist Scheiße implementiert. Die Aktion startet viel zu zeitig und visuelles Feedback kommt viel zu spät.

Weil man so nicht arbeiten kann, habe ich mal kurz geschaut wie man das abstellen kann:
Öffne die Terminal.app und führe folgenden Befehl aus:

defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE

Einmal Chrome neustarten und man kann ihn wieder benutzen.

Wer sie doch wieder haben möchte (Vielleicht fixen sie das ja bald mal) dann einfach:
defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool TRUE ausführen.

Links vom 9. März 2014 bis 16. März 2014 0

Und hier sind wieder interessante Links, die mir letzte Woche begegnet sind:

  • USA verweigern Menschenrechte für Ausländer, ACLU schlägt Änderung des Bürgerrechtspakts vor

    Gestern und heute tagt der UN-Menschenrechtsausschuss in Genf, um zu prüfen, ob die USA gegen den Internationalen Pakt über bürgerliche und politische Rechte (ICCPR) verstoßen…

  • JSON: The JavaScript subset that isn’t

    Written by Magnus Holm. From Wikipedia’s article on JSON JSON was based on a subset of the JavaScript scripting language. All JSON-formatted text is also syntactically legal JavaScript code.…

  • Das WWW wird 25! Tim Berners-Lee will eine Internet-Verfassung

    Heute ist nicht nur Welttag gegen Internetzensur, sondern auch der 25. Geburtstag des World Wide Web. Am 12. März 1989 präsentierte Tim Berners-Lee, damals Informatiker am…

  • Enforced by Radar

    I’ve occasionally seen “radar enforced” on speed limit signs, and I can’t help but ask: How intense would radio waves have to be to stop a car from going over the speed limit, and what would happen…

  • iOS 7.1 – ein paar Details

    Hier listet Apple seine Bugfixes, Design-Änderungen und neuen Features in iOS 7.1 auf – Copy & Paste spare ich mir. Ein paar Anmerkungen allerdings nicht: Behebt iOS 7.1 einzig und…

  • Fefes Blog

    Wer schöne Verschwörungslinks für mich hat: ab an felix-bloginput (at) fefe.de! Fragen? Antworten! Siehe auch: AlternativlosMon Mar 10 2014 [l] Foto der Woche: Merkel und Putin :-) Proudly made…

  • Liebe Raubkopierer bei der SPD,

    im Jahr 2005 habe ich dieses Foto von Manfred Stolpe gemacht. Damals studierte ich noch, das Bild machte ich als Zuschauer einer öffentlichen Podiumsdiskussion und anschließend lud ich es…

  • Angela Merkel sieht Verhältnismäßigkeit bei Terrorbekämpfung nicht gewahrt

    Unsere Bundeskanzlerin Angela Merkel hat im Vorfeld der CEBIT ihren wöchentlichen Podcast genutzt, um einige Worte zur geplanten Digitalen Agenda und zur Netzpolitik zu sagen. Das ist, wie man…

This post was generated with Readability Favorites

22km und anderer Motivationsblödsinn 0

Screen Shot 2014-03-13 at 20.30.32

10 Monate ist es jetzt her. Sogar auf den Tag vor 10 Monaten habe ich in meiner Küche gesessen und eine Zigarette geraucht…

…Sie ausgedrückt und bin “laufen” gegangen. Seitdem keine Zigarette mehr geraucht aber weiter joggen gewesen.

Zum Jahreswechsel habe ich mir dann ein Ziel gesetzt. Sonst bin ich ja überhaupt kein Freund von Jahresvorsätzen und sonstigem Motivationsblödsinn, aber zum Spaß habe ich gesagt:

Im Jahr 2014 laufe ich 21km in unter 3h

(Feige wie ich bin habe ich die untere schranke auf 7km/h gesetzt, aber so ist das mit dem Motivationsblödsinn; nur nicht zu Hoch stapeln. )

Nun ja. Ich komme mal zum Punkt. Ich bin eben 22,37km in 2:07:46 gelaufen. Ich lass das mal gelten und behaupte:
Ich bin fertig für dieses Jahr

Ich warte jetzt nur noch auf die Wadenkrämpfe. Ich finde die habe ich mir jetzt wirklich verdient!

Links vom 2. März 2014 bis 9. März 2014 0

Und hier sind wieder interessante Links, die mir letzte Woche begegnet sind:

This post was generated with Readability Favorites

Links vom 23. Februar 2014 bis 2. März 2014 0

Und hier sind wieder interessante Links, die mir letzte Woche begegnet sind:

This post was generated with Readability Favorites