2016-12-15 3 views
0

J'essaie de compiler du code à partir de here en utilisant CMake et ITK mais je cours une erreur.Compilation avec erreur CMake et ITK

Dans CMake, je sélectionne le dossier source dans/utilities/ITKImageSeriesToVolume et le dossier de construction dans/utilities/ITKImageSeriesToVolume/build. Cela me donne cependant une erreur:

CMake Error at CMakeLists.txt:42 (find_package): 
By not providing "FindITK.cmake" in CMAKE_MODULE_PATH this project has 
asked CMake to find a package configuration file provided by "ITK", but 
CMake did not find one. 

Could not find a package configuration file provided by "ITK" with any of 
the following names: 

ITKConfig.cmake 
itk-config.cmake 

Add the installation prefix of "ITK" to CMAKE_PREFIX_PATH or set "ITK_DIR" 
to a directory containing one of the above files. If "ITK" provides a 
separate development package or SDK, be sure it has been installed. 

J'ai essayé de définir une variable d'environnement CMAKE_PREFIX_PATH qui pointe vers le dossier racine de ITK contenant ITKConfig.cmake mais obtenir la même erreur.

En espérant que quelqu'un puisse vous aider, merci d'avance.

EDIT: Après avoir réglé ITK_DIR à la racine dossier ITK je reçois:

CMake Error at D:/Apps/InsightToolkit/ITK/ITKConfig.cmake:48 (include): 
include could not find load file: 

D:/Apps/InsightToolkit/Build/ITKTargets.cmake 
Call Stack (most recent call first): 
CMakeLists.txt:42 (find_package) 


CMake Error at D:/Apps/InsightToolkit/Source/CMake/ITKModuleAPI.cmake:56 (message): 
No such module: "ITKDoubleConversion" 
Call Stack (most recent call first): 
D:/Apps/InsightToolkit/Source/CMake/ITKModuleAPI.cmake:26 (itk_module_load) 
D:/Apps/InsightToolkit/Source/CMake/ITKModuleAPI.cmake:84 (_itk_module_config_recurse) 
D:/Apps/InsightToolkit/ITK/ITKConfig.cmake:68 (itk_module_config) 
CMakeLists.txt:42 (find_package) 
+0

Faites exactement ce que les instructions disent. Je veux dire *** Ajouter le préfixe d'installation de "ITK" à CMAKE_PREFIX_PATH ou définir "ITK_DIR" dans un répertoire contenant l'un des fichiers ci-dessus. *** – drescherjm

+0

Peut-être essayer la partie ITK_DIR.Vous définissez cela dans cmake-gui ou ccmake. – drescherjm

+0

Merci, je ne savais pas que la partie ITK_DIR avait été faite dans cmake-gui. Après avoir fait cela, je reçois une deuxième erreur que je vais mettre à jour le message principal. – jarthur

Répondre

-1

Votre construction ITK semble être en partie brisée. Pouvez-vous essayer de le reconstruire? Si cela ne vous aide pas, vérifiez si ITK_USE_SYSTEM_DOUBLECONVERSION est activé. Cela signifie de ne pas construire la bibliothèque DoubleConversion qui vient avec ITK mais d'utiliser celle déjà présente sur le système. Si ce n'est pas le cas, vous avez un problème.

De même, sauf si ITK_BUILD_DEFAULT_MODULES est activé, vous devez activer spécifiquement chaque module ou groupe de modules que vous souhaitez compiler. Dans ce cas, activez ITKDoubleConversion et tous les modules supplémentaires requis par ce code.

0

Il a une solution simple comme mentionné dans l'erreur « Ajouter le préfixe d'installation de « ITK » à CMAKE_PREFIX_PATH ou un ensemble « ITK_DIR » dans un répertoire contenant l'un des fichiers ci-dessus. Si « ITK » fournit une séparée paquet de développement ou SDK, assurez-vous qu'il a été installé. "

Assurez-vous que votre point CMAKE_PREFIX_PATH et ITK à votre répertoire de construction ITK. C'est supposer que vous avez déjà construit ITK en utilisant Cmake au moins une fois.

Étapes 1) Créer un dossier source ITK.

2) Créer un dossier de compilation ITK.

3) Exécutez CMake et sélectionnez les dossiers source et de construction.

4) Sélectionnez le compilateur respectif, et s'il y a des problèmes de compilation, référez-vous à cette discussion.

5) Configurer et générer cmake.

6) Ouvrez les fichiers de construction dans le dossier de construction avec l'IDE correspondant (utilisez le fichier .sln si vous utilisez des compilateurs Visual Studio).

7) Construire une fois sur studio visuel.

8) Maintenant, pour votre nouveau projet, utilisez les mêmes étapes et pointez CMAKE_PREFIX_PATH et ITK sur votre répertoire de construction ITK.

Et tout devrait fonctionner. Bonne chance !!!