Pracuję nad projektem wykorzystującym C i Haskell. Obecnie używam CMake do zbudowania biblioteki współdzielonej C i cabal do zbudowania pliku wykonywalnego Haskella. Czy istnieje bardziej zunifikowany sposób na zrobienie tego? Czy mogę przywołać cabal z pliku Makefile wygenerowanego przez CMake lub czy istnieje sposób na zbudowanie biblioteki C bezpośrednio z Cabal? Dzięki.System kompilacji dla projektu używającego C i Haskell
8
A
Odpowiedz
1
CMake może również zrobić to, co chcesz. To jednak powiela wiele funkcji cabal. Więc możesz nazwać cabal z dowolnego narzędzia do kompilacji, którego użyjesz (dla cmake, używając komendy niestandardowej, dla plików makefiles, jest to całkiem zrozumiałe), twórz pliki binarne bezpośrednio (zobacz cabal build -v).
Powiązane problemy
- 1. System kompilacji dla osadzonego projektu C/C++
- 2. System kompilacji i przenośności
- 3. Program Makefile dla programu C używającego numpy rozszerzeń
- 4. Skonfiguruj system kompilacji Sublime Text dla Scala?
- 5. Team System - Utwórz portal projektu Sharepoint dla istniejącego projektu zespołowego
- 6. C# aktualizacja DLL bez ponownej kompilacji projektu
- 7. Błąd kompilacji projektu TeamCity
- 8. Jak ponownie użyć kompilacji dla projektu Angular
- 9. Flaga kompilacji Xcode dla całego projektu
- 10. Asercje kompilacji z GHC Haskell?
- 11. Struktura folderów dla projektu C
- 12. Android i Maven: Przyspieszenie kompilacji i wdrożenia projektu
- 13. System kompilacji dla .NET ze składnią Make/Rake-like?
- 14. Haskell Nie można znaleźć modułu `System '
- 15. Jak przyspieszyć czas kompilacji mojego projektu C++ w CMake?
- 16. Zaktualizuj bibliotekę referencyjną w projekcie C# bez ponownej kompilacji projektu.
- 17. Skąd Eclipse znajduje javac do kompilacji projektu?
- 18. Z Eclipse: Jak dodać ścieżki i biblioteki włączeń dla całego projektu C/C++
- 19. C++ std :: system 'system' nie jest członkiem std
- 20. Jak utworzyć system kompilacji dla Sublime Text 2 do budowania msbuild?
- 21. cmake vs waf dla projektu C++
- 22. Interfejs Qt dla istniejącego projektu C++
- 23. C#: System śledzenia GPS
- 24. Klasa "Zippable" dla haskell?
- 25. C++: Pierwsze kod błędu c3859 podczas kompilacji w mieszance C++/CLI i C++
- 26. Kompilacja błąd w C++ projektu z C i C++ kodów
- 27. Funkcja Xcode 6's Playground dla Visual Studio lub innego IDE używającego C++?
- 28. Najlepszy sposób konfiguracji środowiska kompilacji systemu Windows dla C/C++
- 29. System kompilacji QtCreator jest uszkodzony po aktualizacji OSX
- 30. System GUI dla three.js
Czy naprawdę potrzebujesz biblioteki C? Możesz określić pliki źródłowe C bezpośrednio przez Cabal, a zostaną one skompilowane i połączone z twoim projektem. –
Pracuję nad językiem programowania, który kompiluje źródło do C jako języka pośredniego. Parser i generator kodu C są napisane w Haskell. Kod pośredni C jest przesyłany do kompilatora systemów C, który łączy się z biblioteką współdzieloną. Zatem biblioteka i plik wykonywalny są oddzielnymi jednostkami; Nie muszę łączyć rzeczy z biblioteki z biblioteką. – spacepotato
Możesz określić niestandardowy tryb kompilacji w swoim pliku cabal i po prostu uruchom cmake w odpowiednim czasie podczas budowania cabal (prawdopodobnie jest to przed lub po zbudowaniu twojego pakietu haskell). Zobacz dokumentację dla ['UserHooks'] (http://hackage.haskell.org/package/Cabal-1.20.0.1/docs/Distribution-Simple.html). – user2407038