# Compile SimpleITK

**URL:** <https://discourse.itk.org/t/compile-simpleitk/2709>\
**Category:** Uncategorized\
**Tags:** simpleitk\
**Created:** [February 12, 2020, 3:32pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709 "2020-02-12T15:32:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 3:32pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/1 "2020-02-12T15:32:08Z")

</div>

I want to signal a possible malfunction while compiling SimpleITK.

I intend to use SimpleITK into VC++ project on windows, developing environment VS2017.

If I download the source code from here: [http://www.simpleitk.org//SimpleITK/resources/software.html](http://www.simpleitk.org//SimpleITK/resources/software.html)

the [SimpleITK-1.2.0.zip (hosted at GitHub)](https://github.com/SimpleITK/SimpleITK/releases/download/v1.2.0/SimpleITK-1.2.0.zip) zip, from official site |!!! Is not compile !!!

Does compile when is downloaded from github: [https://github.com/SimpleITK/SimpleITK](https://github.com/SimpleITK/SimpleITK)  
does compile. Even here I got some strange errors:

```
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> D:\Project\SimpleITK\Code\Common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkBSplineTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkDisplacementFieldTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkScaleVersor3DTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> Generating Code...
6>Done building project "SimpleITK.vcxproj" -- FAILED.
12>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug x64 ------
12>Project not selected to build for this solution configuration 
========== Build: 5 succeeded, 1 failed, 2 up-to-date, 6 skipped ==========

```

These rocks have huge impact when is found a special combination: to be a beginner like me and time is running out, just like my combination :))

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 12, 2020, 3:49pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/2 "2020-02-12T15:49:44Z")

</div>

Hello,

We are currently working on creating a new [simpleitk.org](http://simpleitk.org) website, unfortunately the old one is a little out of date.

The best documentation on how to get started building SimpleITK is here: [https://simpleitk.readthedocs.io/en/master/building.html#](https://simpleitk.readthedocs.io/en/master/building.html#)

The compilation errors you are receiving is because you are compiled a version of SimpleITK that worked with ITKv4 and does not support the changes in ITKv5. Those changes are currently in the SimpleITK master branch, and the next release will support the stabalized ITK 5.1.

In the linked instructions, it strongly suggests using SimpleITK’s Superbuild, which automatically builds the proper version of ITK ( and other requirements ).

HTH.

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 4:38pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/3 "2020-02-12T16:38:14Z")

</div>

Thank you Bradley. I have tried the following part of documentation:

```
1. Download the latest development version using git

git clone https://itk.org/SimpleITK.git

```

 ![image](https://discourse.itk.org/uploads/default/original/2X/c/c1eeb1f0b8b847d00600dd6e22777fcae5acb845.png)

From where can I download a safe SimpleITK library ? Safe for compiling, of course 🙂

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 12, 2020, 4:43pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/4 "2020-02-12T16:43:12Z")

</div>

Please use:

```auto
git clone https://github.com/SimpleITK/SimpleITK.git

```

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 5:52pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/5 "2020-02-12T17:52:11Z")

</div>

I have used that link, but the errors persist:

```
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkSimilarity2DTransform.cxx
6> Generating Code...
6>Done building project "SimpleITK.vcxproj" -- FAILED.
12>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug x64 ------
12>Project not selected to build for this solution configuration 
========== Build: 5 succeeded, 1 failed, 2 up-to-date, 6 skipped ==========
```

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 6:03pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/6 "2020-02-12T18:03:11Z")

</div>

I was thinking that will be perfect if there will be available SimpleITK libraries already compiled, just like in Python case, or C# … it is frustrating to spent days to compile SimpleITK library (debug version by now) … and not succeeded …

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 12, 2020, 6:04pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/7 "2020-02-12T18:04:42Z")

</div>

Are you configuring SimpleITK? Are you using the SimpleITK’s Superbuild? Are you using you own compiled version of ITK?

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 6:08pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/8 "2020-02-12T18:08:15Z")

</div>

Yes, I have compiled SimpleITK in CMake GUI:

 ![image](https://discourse.itk.org/uploads/default/original/2X/9/97dfb017ac870ffe3ce7ecff6b3132d56b7302d2.png)  
And I have compiled through SuperBuild:  
 ![image](https://discourse.itk.org/uploads/default/original/2X/8/8f787d52cd19d2cd1d5afa62edbdda58d753ccba.png)

 ![image](https://discourse.itk.org/uploads/default/original/2X/7/7fb6f83443fa4238f35d209450668678eed669c0.png)

And no, I didn’t used my own ITK, as far as I know, the SuperBuild had bring it for me …

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 8:12pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/9 "2020-02-12T20:12:27Z")

</div>

I can give you any extra-information that you need it for figure out what happen here.

Windows 10 64 bit, VS2017, VC++. CMake 3.16.3 … SimpleITK from [https://github.com/SimpleITK/SimpleITK.git](https://github.com/SimpleITK/SimpleITK.git)

I have run CMake inside of **D:/Project/SimpleITK/SuperBuild**.

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 12, 2020, 8:16pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/10 "2020-02-12T20:16:53Z")

</div>

Thank you for that additional information.

In your previous threads, it appears you had gotten SimpleITK to compile. What changed?

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 8:19pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/11 "2020-02-12T20:19:23Z")

</div>

Because I have compiled the previous time as MD, not MT, and for my real project I need MT, I erased all, and I have compiled again. With this outcome. I have used the same settings.

E.g. **/MDd /Zi /Ob0 /Od /RTC1** to **/MTd /Zi /Ob0 /Od /RTC1** on CMake CMAKE\_CXX\_FLAGS\_DEBUG

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 8:24pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/12 "2020-02-12T20:24:06Z")

</div>

As I said, I erase all and do it again … that is all. And after I delete it all, I’ve taken the code from official site. Not worked … and seem that github version is not working anymore …

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 12, 2020, 8:28pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/13 "2020-02-12T20:28:19Z")

</div>

After all, I guess is not a problem if I start the compiling process from the beginning … I presume the whole process should run smoothly …

---

<div class="post-metadata">

**Author:** ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)\
**Post date:** [February 12, 2020, 10:03pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/14 "2020-02-12T22:03:10Z")

</div>

All libraries must be compiled with `/MTd` for the final project to be able to be compiled with `/MTd`. I am not sure whether super-builds propagate `CMAKE_CXX_FLAGS` to internal projects (I think they don’t).

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 12, 2020, 10:20pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/15 "2020-02-12T22:20:58Z")

</div>

In the SimpleITK Subperbuild all these flags are propagated to the external project:

> <https://github.com/SimpleITK/SimpleITK/blob/master/SuperBuild/SuperBuild.cmake#L205>

So setting `CMAKE_CXX_FLAGS` should work as expected.

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 13, 2020, 9:11am UTC](https://discourse.itk.org/t/compile-simpleitk/2709/16 "2020-02-13T09:11:27Z")

</div>

I have tried to compile as **/MDd /Zi /Ob0 /Od /RTC1** and I got the same errors …

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 13, 2020, 9:25am UTC](https://discourse.itk.org/t/compile-simpleitk/2709/17 "2020-02-13T09:25:14Z")

</div>

Steps:

git clone [https://github.com/SimpleITK/SimpleITK.git](https://github.com/SimpleITK/SimpleITK.git)

then I configure with CMake GUI ( this time I used **/MTd /Zi /Ob0 /Od /RTC1** )

 ![image](https://discourse.itk.org/uploads/default/original/2X/c/c8e57c0e38ea91d7095b5a2a566178b267d666d3.png)

Then, after I compiled with VS2017, I got errors from above … I really don’t know what should I do … I have done something wrong ?

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 13, 2020, 1:35pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/18 "2020-02-13T13:35:25Z")

</div>

Hello,

I was able to successfully build SimpleITK on a windows WM following your instructions using CMake 3.14.1 and an updated Visual Studio 2017 professional.

In the configuration log I see you are using Visual Studio 2017 _Community_ edition. I am wondering if that compiler is old and has a bug causing your compilation error. There is a newer [Visual Studio Community 2019](https://visualstudio.microsoft.com/downloads/).

Other than that my only thought is that you some how have a dirty directory around in your build environment that you some how are using by mistake.

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 13, 2020, 5:00pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/19 "2020-02-13T17:00:58Z")

</div>

In documentation doesn’t write that should use Visual Studio Professional Edition … as far as I know.

 ![image](https://discourse.itk.org/uploads/default/original/2X/2/2dfd59d3bd6983c1b3ec36236165d178af2bf8ac.png)

Can you show me what configuration of your functional Visual Studio ?

---

<div class="post-metadata">

**Author:** ![flaviu2](https://discourse.itk.org/letter_avatar_proxy/v4/letter/f/74df32/32.png) [@flaviu2](https://discourse.itk.org/u/flaviu2)\
**Post date:** [February 13, 2020, 5:23pm UTC](https://discourse.itk.org/t/compile-simpleitk/2709/20 "2020-02-13T17:23:45Z")

</div>

Anyway, after errors, I doubt that could be the compiler the problem:

```
6> sitkImage.cxx
6> sitkTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> D:\Project\SimpleITK\Code\Common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkAffineTransform.cxx
6> sitkBSplineTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkDisplacementFieldTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> sitkEuler2DTransform.cxx
6> sitkScaleVersor3DTransform.cxx
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2039: 'TransformCategoryEnum': is not a member of 'itk::TransformBaseTemplate<double>' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6> d:\project\simpleitk\code\common\include\sitkTransform.h(38): note: see declaration of 'itk::TransformBaseTemplate<double>'
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): error C2146: syntax error: missing ';' before identifier 'TransformCategoryEnum' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(150): warning C4091: '': ignored on left of 'int' when no variable is declared [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2825: 'TransformCategoryEnum': must be a class or namespace when followed by '::' [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2510: 'TransformCategoryEnum': left of '::' must be a class/struct/union [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
6>d:\project\simpleitk\code\common\src\sitkPimpleTransform.hxx(151): error C2065: 'Linear': undeclared identifier [D:\Project\SimpleITK\SuperBuild\bin\SimpleITK-build\Code\Common\src\SimpleITKCommon.vcxproj]
```

[Next page](https://discourse.itk.org/t/compile-simpleitk/2709.md?page=2)
