Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ソフトウェア工学10 ビルド

ソフトウェア工学10 ビルド

ビルド

コンパイルオプション,ビルド,make,Makefile,cmake,pkg-config

99b434b001cd93fe73322f764d73372c?s=128

Toru Tamaki

August 05, 2021
Tweet

Transcript

  1. ιϑτ΢ΣΞ޻ֶ nϏϧυ • ίϯύΠϧΦϓγϣϯɼϏϧυɼmakeɼMakefileɼcmakeɼ pkg-config ۄ໦పʢ໊޻େʣ

  2. Ϗϧυ

  3. Ϗϧυͱ͸ nίʔυΛίϯύΠϧ࣮ͯ͠ߦܗࣜϑΝΠϧͳͲΛ࡞੒͢Δ͜ͱ • C, C++ͳͲ ίϯύΠϥ ϦϯΧ ιʔε ϑΝΠϧ ΦϒδΣΫτ

    ϑΝΠϧ ੩తϥΠϒϥϦ ʢ*.aʣ ࣮ߦ ϑΝΠϧ ੩త ϦϯΫ ίϯύΠϧ ࣮ߦ ϑΝΠϧ ڞ༗ϥΠϒϥϦ (*.so) DLL ಈత ϦϯΫ Ϗϧυ ࣮ߦ ϔομϑΝΠϧ ʢ*.hʣ ੩త ϦϯΫ
  4. πʔϧʹΑΔϏϧυͷࣗಈԽ nϏϧυ͸ෳࡶʹͳΔ • ଟ਺ͷϑΝΠϧ • ଟ਺ͷੜ੒͞ΕΔ࣮ߦϑΝΠϧ • υΩϡϝϯτ΋ੜ੒ • खॱ͕൥ࡶʹͳΓɼਓखͰ͸Τϥʔ΋ൃੜ

    nϏϧυπʔϧͷར఺ • Ϗϧυ͕ࣗಈԽͰ͖Δ • C/C++ͳͲͷେن໛ϓϩμΫτ • ༷ʑͳखॱ͕ࣗಈԽͰ͖Δ • PythonͳͲεΫϦϓτݴޠͰ΋ࣗಈԽ͢Δ΂͖खॱ͸͋Δ • Ϣχοτςετɼճؼςετ • ίʔυελΠϧͷνΣοΫ
  5. $ίϯύΠϧͷجૅ nίϯύΠϥɿgcc gcc main.c main.c a.out gcc main.c -o main

    main.c main gcc main.c myfunc.c -o main myfunc.c main main.c ίϯύΠϧ͢Δ ϑΝΠϧ໊ ϑΝΠϧ໊Λࢦఆ͠ ͳ͍ͱa.outʹͳΔ ίϯύΠϧ͢ΔϑΝΠ ϧ໊͸ෳ਺Ͱ΋ྑ͍ -oͰੜ੒͞ΕΔϑΝ Πϧ໊Λࢦఆ
  6. ෳ਺ϑΝΠϧͷίϯύΠϧ gcc main.c myfunc.c -o main -lm myfunc.c main main.c

    libm.a -lͰϦϯΫ͢ΔϥΠϒϥϦ໊Λࢦఆ ʮ-lmʯͳΒʮlibm.aʯͱ͍͏ϑΝ Πϧ໊ͷϥΠϒϥϦΛϦϯΫ͢Δ γεςϜσϑΥϧτͷϥΠϒϥϦύε ʢҰൠతʹ/usr/libʣʹlibm.a͕͋Δ͔ Βɼ৔ॴΛࢦఆ͠ͳͯ͘Α͍ math.h
  7. ΦϒδΣΫτϑΝΠϧʹ͔ͯ͠ΒϦϯΫ gcc -c main.c gcc -c myfunc.c gcc main.o myfunc.o

    -o main -lm myfunc.o main main.o libm.a myfunc.c main.c -cͰίϯύΠϧ ͢ΔϑΝΠϧΛ ࢦఆ ϦϯΫ͢ΔΦϒδΣΫτϑΝΠϧΛࢦఆ gcc͕ϦϯΧΛ ݺͼग़͍ͯ͠Δ math.h ϑΝΠϧ͕਺ඦʙ਺ઍݸ ΋͋ͬͨΒɼΦϒδΣΫ τϑΝΠϧͷϦϯΫ͸଎ ͯ͘΋ίϯύΠϧ͸஗ ͍ɽɽɽ
  8. ֎෦ϥΠϒϥϦͷར༻ gcc -c main.c -I/usr/local/include/opencv2 gcc -c myfunc.c -I/usr/local/include gcc

    main.o myfunc.o -o main -lm -L/usr/local/lib -L/usr/local/lib/cv2 -lpcl -lopencv myfunc.o main main.o libm.a myfunc.c main.c pcl.h cv.h libopencv.a include include libpcl.a /usr/local/include /usr/local/include/opencv2 /usr/local/lib /usr/local/lib/cv2 खಈϏϧυ ͸खؒʂ ϔομϑΝΠϧ ͷύε͸ಛघ ϥΠϒϥϦϑΝΠ ϧͷύε΋ಛघ ஫ɿՍۭͷϏϧυͷ ྫͰ͢
  9. ֎෦ϥΠϒϥϦͷར༻ gcc -c main.c -I/usr/local/include/opencv2 gcc -c myfunc.c -I/usr/local/include gcc

    main.o myfunc.o -o main -lm -L/usr/local/lib -L/usr/local/lib/cv2 -lpcl -lopencv -IͰϔομϑΝΠϧͷύεΛࢦఆ -LͰϥΠϒϥϦͷύεΛࢦఆ libpcl.aͱ libopencv.aͱ͍͏໊લ ͷϑΝΠϧΛϦϯΫ
  10. NBLFͱ.BLFGJMF

  11. NBLFͱ͸ nࣗಈϏϧυͷίϚϯυϥΠϯπʔϧ • ݹ͔͘Βར༻͞Ε͍ͯΔ • ઃఆϑΝΠϧMakefileͷ಺༰ʹैͬͯίϚϯυΛ࣮ߦ • ϏϧυʢίϯύΠϧʣҎ֎ʹ΋࢖͑Δ

  12. ϏϧυίϚϯυΛ.BLFGJMFʹม׵ gcc -c main.c -I/usr/local/include/opencv2 gcc -c myfunc.c -I/usr/local/include gcc

    main.o myfunc.o -o main -lm -L/usr/local/lib -L/usr/local/lib/cv2 ஫ɿՍۭͷϏϧυͷ ྫͰ͢
  13. .BLFGJMFͷجຊ nϧʔϧʹλʔήοτɼґଘϑΝΠϧɼίϚϯυ • ίϚϯυϥΠϯͰʮmake λʔήοτ໊ʯ͕࣮ߦ͞ΕΔͱ • λʔήοτϑΝΠϧ͕ͳ͚Ε͹ • ΋͘͠͸ґଘϑΝΠϧ͕ॻ͖׵ΘͬͨΒ •

    ʢλΠϜελϯϓΛൺֱʣ • ίϚϯυ͕࣮ߦ࣮ߦ͞Ε • λʔήοτ͕ੜ੒͞ΕΔ λʔήοτ ʢੜ੒͞ΕΔϑΝ Πϧ໊ʣ ґଘϑΝΠϧ ࣮ߦ͞ΕΔ ίϚϯυ ϧʔϧ makeίϚϯυͷҾ ਺ʹλʔήοτΛ ࢦఆ ʢ2ճ໨ʣ main.c͕มߋ͞Ε ͍ͯͳ͍ͷͰ Կ΋͠ ͳ͍
  14. EPDLFSͰ࣮ߦ ̏ɿίʔυΛνΣοΫΞ΢τ $ docker-compose exec mygcc git checkout ce7c396 ̍ɿىಈ͢Δ

    $ cd 10_01_make $ docker-compose build $ docker-compose up -d ̎ɿ.gitconfigΛίϐʔ vscodeΛىಈͯ͠ίϯςφʹ઀ଓ͢Ε͹OK
  15. .BLFGJMFͷϧʔϧͷݟํ myfunc.c͔Β myfunc.oΛੜ੒ main.c͔Βmain.o Λੜ੒ main.oͱmyfunc.o ͔ΒmainΛੜ੒

  16. NBLFBMM NBLFDMFBO phonyʢμϛʔʣͷμʔήο τɿallͱclean͸ϑΝΠϧͰͳ ͍ “make all”ͰɼmainΛੜ੒͢Δ ͱ͍͏ҙຯͷλʔήοτ “make clean”ͰɼෆཁͳϑΝ

    ΠϧΛ࡟আ͢Δͱ͍͏ҙຯͷ λʔήοτ ϑΝΠϧ໊Ͱ͸ͳ͍λʔήοτ ʹ͸phony targetΛར༻͢Δ
  17. λʔήοτΛ෼͚Δඞཁੑ nߋ৽͕ඞཁͳϑΝΠϧ͚ͩΛίϯύΠϧ͢Δ • ϑΝΠϧ͕਺ݸͷ৔߹ • ຖճશ෦Ұ౓ʹίϯύΠϧ͢Ε͹Α͍ • ϑΝΠϧ͕਺ઍݸͷ৔߹ • मਖ਼ͨ͠ϑΝΠϧ͚ͩΛίϯύΠϧ͍ͨ͠

    • ίϯύΠϧʹ͸͕͔͔࣌ؒΔ • ΦϒδΣΫτϑΝΠϧΛϦϯΫ͢Δ͚ͩͳΒ୹࣌ؒͰࡁΉ myfunc.c͸มߋ͞ Εͯͳ͍ͷͰίϯ ύΠϧ͠ͳ͍ main.c͕มߋ͞Ε ͨΒίϯύΠϧ ྫ main.o͕ߋ৽͞Ε ͨͷͰ͜ͷϧʔϧ Λ࣮ߦ
  18. ύλʔϯϚον nଟ਺ͷϑΝΠϧʹݸผͷ ϧʔϧΛهड़͢Δͷ͸खؒ • ʮ*.cʯͱ͍͏ϑΝΠϧ͔Β ʮ*.oʯΛ࡞੒͢Δɼͱ͍͏ ϧʔϧΛҰׅͰॻ͖͍ͨ • MakefileͰ͸ϫΠϧυΧʔυ ʹʮ%ʯΛ༻͍Δ

    • ʮ%.cʯͳΒʮ*.cʯͱ͍͏ ໊લΛ֤࣋ͭϑΝΠϧ ΋͠ґଘϑΝΠϧ͕ main.cͳΒλʔήοτ ͸main.oʹͳΔ ύλʔϯʮ*.cʯʹҰக ͢ΔϑΝΠϧ ʢͨͱ͑͹main.cʣ λʔήοτ ϑΝΠϧ໊ ʢmain.oʣʹ ม׵͞ΕΔ ґଘϑΝΠϧ໊ ʢmain.cʣʹม ׵͞ΕΔ ͔͠͠-IͷࢦఆΛ ๨Ε͍ͯΔ
  19. ม਺Λ࢖͏ nม਺એݴͱ୅ೖ • ม਺໊ := ಺༰ nม਺ͷར༻ • $(ม਺໊) ม਺INCLUDEʹઃఆ

    ม਺CFLAGSʹ INCLUDEΛ௥Ճ ΦϓγϣϯʹCFLAGS Λ௥Ճ ௨ৗCFLAGS͸ CίϯύΠϥͷ σϑΥϧτΦϓ γϣϯ͕ೖͬͯ ͍Δม਺ ʢ͔ͩΒ্ॻ͖ ͠ͳ͍ʣ όοΫεϥο γϡͰվߦҎ ߱΋ଓ͘ C++ͳΒ CXXFLAGS
  20. ม਺Λ࢖͏ Φϓγϣϯʹ LDFLAGSΛ௥Ճ *.oϑΝΠϧΛOBJSͰ ·ͱΊΔ ϦϯΫ͢ΔϥΠϒϥϦ ϥΠϒϥϦͷ͋ ΔσΟϨΫτϦ ม਺LDLAGSʹLIBSͱ LIBDIRSΛ௥Ճ

    ௨ৗLDFLAGS͸ϦϯΧͷσϑΥϧτΦϓγϣ ϯ͕ೖ͍ͬͯΔม਺ʢ͔ͩΒ্ॻ͖͠ͳ͍ʣ
  21. ੔ཧͨ͠.BLFGJMF makeͷ࣮ߦ݁Ռ ϑΝΠϧ͕૿͑ͨΒ͜ ͜ʹ௥Ճ͢Δ͚ͩ ஫ɿՍۭͷϏϧυͷ ྫͰ͢

  22. EPDLFSͰ࣮ߦ ̏ɿίʔυΛνΣοΫΞ΢τ $ docker-compose exec mygcc git checkout main ̍ɿىಈ͢Δ

    $ cd 10_01_make $ docker-compose build $ docker-compose up -d ̎ɿ.gitconfigΛίϐʔ vscodeΛىಈͯ͠ίϯςφʹ઀ଓ͢Ε͹OK
  23. ίϯύΠϧҎ֎ͷ.BLFGJMFͷྫ nෳ਺ͷlatexϑΝΠϧΛplatexͰίϯύΠϧ • ϝΠϯϑΝΠϧ͸thesis.tex • ͦΕ͕ଞͷϑΝΠϧΛΠϯΫϧʔυ͍ͯ͠Δ • ϧʔϧ • texϑΝΠϧͷͲΕ͔1ͭͰ΋मਖ਼͞ΕͨΒplatexΛ࣮ߦ

    • dvi͕Ͱ͖ΔͷͰͦΕΛdvipdfmxͰpdf΁ม׵ n஫ҙ • ݱ࣮Ͱ͸latexmkΛ࢖͓͏
  24. EPDLFSͰ࣮ߦ ̍ɿىಈ͢Δ $ cd 10_02_make_latex $ docker-compose build $ docker-compose

    up -d ̎ɿ.gitconfigΛίϐʔ vscodeΛىಈͯ͠ίϯςφʹ઀ଓ͢Ε͹OK
  25. Α͋͘ΔNBLFͷ࢖͍ํ nmake all ·ͨ͸ make • ͢΂ͯϏϧυ nmake test •

    ςετίʔυΛ࣮ߦ nmake debug • σόοάΦϓγϣϯʢ-gʣΛ͚ͭ ͯίϯύΠϧ nmake doc • υΩϡϝϯτΛ࡞੒ nmake clean • ੜ੒͞ΕͨϑΝΠϧΛ࡟আ nsudo make install • γεςϜʹΠϯετʔϧ • ʢ௨ৗ͸ʣrootݖݶ͕ඞཁ nsudo make uninstall • Πϯετʔϧͨ͠ϑΝΠϧΛγε ςϜ͔Β࡟আ • ʢϑΝΠϧΛهԱ͓ͯ͘͠ͳͲಛ घॲཧ͕ඞཁʣ
  26. NBLFUFTUͰςετίʔυΛ࣮ߦ͢Δྫ ςετ࣮ߦ ΧόϨο δܭଌ ෆཁϑΝΠϧͷ࡟আ

  27. EPDLFSͰ࣮ߦ ̍ɿىಈ͢Δ $ cd 10_03_make_test $ docker-compose build $ docker-compose

    up -d ̎ɿ.gitconfigΛίϐʔ vscodeΛىಈͯ͠ίϯςφʹ઀ଓ͢Ε͹OK
  28. .BLFGJMF NBLFS

  29. .BLFGJMF͸؀ڥґଘ ίϯύΠϥ ͕gccͰ͸ͳ ͘cc΍clang ͷ৔߹΋͋ Δ ϥΠϒϥϦ ͕Πϯε τʔϧ͞Ε ͨ৔ॴ͸؀

    ڥґଘ ϔομϑΝ Πϧ͕Πϯ ετʔϧ͞ Εͨ৔ॴ΋ ؀ڥґଘ ϥΠϒϥϦ໊͢ Β؀ڥʹΑͬͯ ඍົʹҟͳΔ͜ ͱ΋͋Δ
  30. ΫϩεϓϥοτϑΥʔϜɾϏϧυ n؀ڥʹԠͯ͡Ϗϧυ͢Δ֤छπʔϧ • Makefileੜ੒ܕ • CMake, autotools, etc • MakefileΛ࢖Θͳ͍΋ͷ΋͋Δ

    • https://en.wikipedia.org/wiki/List_of_build_automation_software
  31. (/6BVUPUPPMT nconfigureεΫϦϓτ͔ΒMakefileΛੜ੒ • खॱ ./configure make all make install nෳ਺ͷπʔϧ܈

    • aclocale, autoheader, autoconf, automake, … • configureεΫϦϓτͷੜ੒·Ͱ͸௕͍ಓఔ n࢖͍ͬͯΔOSS • Apache • FFmpeg • Perl • etc GNU autoconf and automake process for generating makefilesJdthood - Own work, based on https://commons.wikimedia.org/wiki/File:Autoconf.svg CC BY-SA 3.0
  32. $.BLF nઃఆϑΝΠϧCMakeLists.txt͔Β৭ʑͱੜ੒Ͱ͖Δ • Makefile, XcodeϓϩδΣΫτϑΝΠϧɼVisual StudioϓϩδΣΫτϑΝΠϧ • GUI൛΋͋Δ nݱࡏଟ਺ͷOSSͰ࢖ΘΕ͍ͯΔ •

    OpenCV, PCL, ROS • LLVM/Clang, ITK/VTK, KDE • Blender • etc Logo di CmakeCmake team. The original uploader was Francesco Betti Sorbelli at Italian Wikipedia.. Vectorized by Magasjukur2 - File:Cmake.jpg CC BY 2.0
  33. σΟϨΫτϦߏ੒ n τοϓσΟϨΫτϦ • ઃఆϑΝΠϧ • ϓϩδΣΫτશମͷCMakeLists.txt • ֤छσΟϨΫτϦ n

    srcσΟϨΫτϦ • ֤छιʔε͕͋Δ • ݸผͷCMakeLists.txt • ιʔεϑΝΠϧ n buildσΟϨΫτϦ • ࠷ॳ͸ଘࡏ͠ͳ͍ɽcmakeͰ࡞੒͞ΕΔ • ιʔε͕͜͜ʹίϐʔ͞ΕͯɼϏϧυ͕࣮ߦ͞ΕΔ • ͜͜ͰmakeΛ࣮ߦ • ෆཁʹͳΕ͹࡟আ
  34. ϓϩδΣΫτશମͷ$.BLF-JTUTUYU cmakeͷઃఆ srcσΟϨΫτ ϦΛ௥Ճ • ϓϩδΣΫ໊Λʮmy_mainʯʹઃఆ • ࢖༻ݴޠ͸C++ͱCΛ࢖͏ͱ͍͏એݴ ͜Ε

  35. ݸผͷ$.BLF-JTUTUYU ࡞੒͢Δ࣮ߦϑΝΠϧ໊Λʮmy_mainʯʹ ࢦఆɽଓ͍ͯιʔεϑΝΠϧΛࢦఆ ʢmain.cppͱmyfunc.cͷ2ͭʣ ϓϩδΣΫτʹϦϯΫ͢ΔϥΠ ϒϥϦΛࢦఆʢ͜͜Ͱ͸libm.a ͳͷͰʮmʯͱ͢Δʣ ʮOpenCVʯͱ͍͏໊લͷύο έʔδΛ௥ՃʢREQUIRED͸ඞ ਢͱ͍͏ࢦఆʣ

    ʮOpenCVʯύοέʔδΛ௥Ճ͠ ͨΒఆٛ͞ΕΔม਺Λ࢖ͬͯɼ ϦϯΫ͢ΔϥΠϒϥϦΛࢦఆ ͜Ε
  36. DNBLFΛ࣮ߦ cmake ͕࡞੒ -SͰιʔεϑΝΠϧͷ ύεΛࢦఆ -BͰϏϧυ༻ͷύεΛ ࢦఆ CίϯύΠϥΛ ࣗಈݕࡧ C++ίϯύΠ

    ϥΛࣗಈݕࡧ ύοέʔδΛ ࣗಈݕࡧ
  37. DNBLFͰϏϧυ nbuild/ҎԼͰϏϧυ͞ΕΔ --buildͰϏϧυ༻ύ εΛࢦఆͯ͠ɼͦ͜Ͱ Ϗϧυ Ϗϧυ༻ύεʹੜ ੒͞ΕͨόΠφϦ Λ࣮ߦͯ͠ΈΔ

  38. NBLFͰϏϧυ nmakeͰ΋ϏϧυͰ͖Δ • build/ҎԼʹMakefile͕ੜ੒͞Ε͍ͯΔ -CͰࢦఆͨ͠ύεʹҠಈ͠ ͯmakeΛ࣮ߦ͢Δ ΋͘͠͸͜ΕͰ΋Α͍ ஫ɿdocker-composeͰ ͸͏·͘ಈ͔ͳ͍ ʢϑΥϧμͷϚ΢ϯτ

    ઃఆͷͨΊʣ
  39. EPDLFSͰ࣮ߦ ̍ɿىಈ͢Δ $ cd 10_04_cmake $ docker-compose build $ docker-compose

    up -d ̎ɿ.gitconfigΛίϐʔ vscodeΛىಈͯ͠ίϯςφʹ઀ଓ͢Ε͹OK
  40. 74DPEFͰ$.BLF

  41. cmake tools Ͱݕࡧͯ͠ Πϯετʔϧ

  42. None
  43. cmake ࣮ߦ cmake --build ࣮ߦ make clean make clean cmake

    --build cmake cmakeλϒ ΁ߦ͘ͱ
  44. QLHDPOGJH ύοέʔδઃఆϑΝΠϧͷ؅ཧπʔϧ

  45. DNBLFϑΝΠϧɿ$.BLF༻ͷઃఆ؅ཧ cmake͸Ͳ͔͜Βύοέʔδ৘ ใΛಘ͍ͯΔͷ͔ʁ ͜ͷσΟϨΫτϦʹ͋ Δ.cmake͔Β ϥΠϒϥϦ໊΍ύ ε͸௚઀ௐ΂Δͷ ͸೉͍͠

  46. QLHDPOGJHɿύοέʔδઃఆͷ؅ཧ nύοέʔδͷઃఆ৘ใ͕؅ཧ͞Ε͍ͯΔ • CMakeͱ͸ແؔ܎ nϏϧυ༻ͷ৘ใ • ϔομϑΝΠϧͷύε • ϥΠϒϥϦ໊ͱͦͷύε --cflagsͰࢦఆͨ͠ύοέʔδΛ

    Ϗϧυ͢ΔͨΊͷCFLAGSʢ-IΦϓ γϣϯʣΛදࣔ --libsͰࢦఆͨ͠ύοέʔδΛϦ ϯΫ͢ΔͨΊͷϥΠϒϥϦΦϓγϣ ϯΛදࣔʢ-Lͱ-lʣ
  47. QLHDPOGJHͷઃఆϑΝΠϧ nύοέʔδͷઃఆ৘ใ͕؅ཧ͞Ε͍ͯΔ • CMakeͱ͸ແؔ܎ nϏϧυ༻ͷ৘ใ • ϔομϑΝΠϧͷύε • ϥΠϒϥϦ໊ͱͦͷύε pkg-config͸Ͳ͔͜Βύοέʔδ

    ৘ใΛಘ͍ͯΔͷ͔ʁ ͜ͷσΟϨΫτϦʹ͋ Δ.pc͔Β
  48. ύοέʔδҰཡͷऔಘ nࢦఆ͢Δύοέʔδ໊ • ύοέʔδ໊ҰཡΛऔಘ … pkg-config͕؅ཧ͍ͯ͠Δύοέʔ δҰཡΛදࣔ

  49. QLHDPOGJHΛར༻ͨ͠.BLFGJMF ஫ɿՍۭͷϏϧυͷ ྫͰ͢ pkg-configΛ࢖͏৔߹ pkg-configΛ࢖Θͳ͍৔߹

  50. EPDLFSͰ࣮ߦ ̍ɿىಈ͢Δ $ cd 10_05_pkg-config $ docker-compose build $ docker-compose

    up -d ̎ɿ.gitconfigΛίϐʔ vscodeΛىಈͯ͠ίϯςφʹ઀ଓ͢Ε͹OK
  51. *%&ͷઃఆ XcodeͰ΋Visual StudioͰ΋αʔνύεͷઃఆ͸ඞਢ

  52. .JDSPTPGU7JTVBM4UVEJP https://docs.microsoft.com/ja-jp/cpp/build/working-with- project-properties?view=msvc-160 ίϯύΠϥͱϏϧυͷϓϩύςΟΛઃఆ͢Δ 2019/07/17

  53. "QQMF9DPEF https://stackoverflow.com/questi ons/14134064/how-to-set- include-path-in-xcode-project How to set include path in

    xcode project
  54. None
  55. ՝୊ nC/C++ͷ؆୯ͳίʔυͷίϯύΠϧΛߦ͏ • MakefileΛॻ͖ɼmakeͰϏϧυɼ࣮ߦ͢Δ • CmakeList.txtΛॻ͖ɼcmakeͰߏ੒ɼϏϧυɼ࣮ߦ͢Δ

  56. ૝ఆࢼݧ໰୊ nϏϧυͱ͸Կ͔Λઆ໌ͤΑ nϏϧυͷࣗಈԽͷॏཁੑΛઆ໌ͤΑ nMakefile/makeͷར఺Λड़΂Α n؆୯ͳϏϧυͷMakefileΛॻ͚ ngccʹ͓͚Δ-I, -L, -l, -oͷΦϓγϣϯͷҙຯΛड़΂Α nMakefileͷ%ύλʔϯϚονͱ͸Կ͔

    nCmakeͱ͸Կ͔ɼmakeʹର͢Δ༏ҐੑΛड़΂Α npkg-configΛ࢖ͬͯԿ͕ௐ΂ΒΕΔͷ͔Λઆ໌ͤΑ