Using -DCMAKE_INSTALL_PREFIX with build produces flat include folder & does not include DLL
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- cmake, cpp
- Bereich
- build-system
Rechercherichtung
Beginne damit, den CMake-Block install(TARGETS countly...) und die im Issue gezeigte Definition COUNTLY_PUBLIC_HEADERS zu lokalisieren. Führe einen konfigurierten Build mit CMAKE_INSTALL_PREFIX und dem install-Ziel aus und überprüfe anschließend, dass das installierte Layout countly.dll unter bin, countly.hpp unter include und die erwarteten öffentlichen Header unter include/countly enthält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
If you use -DCMAKE_INSTALL_PREFIX=[some folder] when generating the build files, and then use --target install, you get a badly formed output folder.
The DLL is the easiest one to fix.
install(TARGETS countly ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include/countly)
Should be
install(TARGETS countly ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include/countly RUNTIME DESTINATION bin)
This way, there will be a bin folder containing the countly.dll.
There are a few errors with the include setup. First, countly.hpp needs to be removed from COUNTLY_PUBLIC_HEADERS. While we're at it, add countly_configuration.hpp, which is missing!
Next, add this additional install step at the end of the file:
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/countly.hpp DESTINATION include)
This will separately install countly.hpp in the root include folder in the install directory, creating the expected setup.
- Vorherrschende Sprache
- C++
- Sterne
- 34
- Forks
- 25
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Countly/countly-sdk-cpp
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
Countly/countly-sdk-cpp#100 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Countly/countly-sdk-cpp#36 · 4 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
Countly/countly-sdk-cpp#35 · 3 Kommentare ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Countly/countly-sdk-cpp#34 ·
-
No namespaceOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
Countly/countly-sdk-cpp#33 · 1 Reaktion ·
Alle Issues in Countly/countly-sdk-cpp
Ähnliche Issues
-
Mac mini M6 (16 GB): Q2_0 streaming works - measured 11.7->27.2 tok/s + arena fix for sub-32 GB MacsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
champion good first issue remake source/qq
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
metasequoiaime/msime-windows#1025 ·
Maintainer antworten meist innerhalb von 1 Tag
-
backlog bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
EchoTools/nevr-runtime#653 ·
Maintainer antworten meist innerhalb von 1 Tag
-
`--fail-require-skip` never fires: run_tests.py searches stdout, but the unittest binary writes the skip summary to stderrEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
InfiniTimeOrg/InfiniTime#2492 ·