Hello,


I’m trying to get a new compiler working because GCC is simply not working on my system. I’ve heard great things about LLVM / CLang, and would like to try it out, but I’m having trouble getting it to work at all.



I installed LLVM-4.0.1-win64.exe on Windows 7 64-bit, and I’m trying to get it working with the Code::Blocks IDE.

Code::Blocks wants the following information in its toolchain entered into executables dialog.

What it wants                                          My best guess

C Compiler                                          clang.exe

C++ Compiler                                          clang++.exe

Linker for dynamic libs:              llvm-lib.exe

Linker for static libs:                            llvm-ar.exe

Debugger:                                          GDB/CDB debugger

(dropdown list, this is the only option.)

Resource compiler: windres.exe (not in clang set.)

Make program mingw32-make.exe (not in clang set.)

Are these correct? Does LLVM / Clang come with a Windows resource compiler and make program?



When I try to compile a main() that simply increments a number and returns,

using namespace std;



int main()

{

  int j = 0;

  for (int i = 0; i < 1000; i++) j++;

  return j - 1000;

}

I get the following messages:

clang++.exe -Weverything -fexceptions -O2 -c "E:\Files and Documents\Development\CompilerBasicTest\main.cpp" -o obj\Release\main.o

E:\Files and Documents\Development\CompilerBasicTest\main.cpp:3:17: warning: using directive refers to implicitly-defined namespace 'std'

using namespace std;

  ^

1 warning generated.

llvm-lib.exe -o bin\Release\CompilerBasicTest.exe obj\Release\main.o -s

ignoring unknown argument: -o

ignoring unknown argument: -s

bin\Release\CompilerBasicTest.exe: no such file or directory

Process terminated with status 1 (0 minute(s), 0 second(s))

0 error(s), 1 warning(s) (0 minute(s), 0 second(s))



So even without the standard libraries, I’m having trouble with the most basic compilation and building, but I have no clue what to do.



When I try to build a basic Hello World program:

#include <iostream>



using namespace std;



int main()

{

  cout << "Hello world!" << endl;

  return 0;

}

I get the following messages in the build log

-------------- Build: Release in CompilerBasicTest (compiler: LLVM Clang Compiler)---------------



clang++.exe -Weverything -fexceptions -O2 -c "E:\Files and Documents\Development\CompilerBasicTest\main.cpp" -o obj\Release\main.o

E:\Files and Documents\Development\CompilerBasicTest\main.cpp:1:10: fatal error: 'iostream' file not found

#include <iostream>

  ^~~~~~~~~~

1 error generated.

Process terminated with status 1 (0 minute(s), 0 second(s))

1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

I also get a similar message for <cstdlib>. How do I get the standard C and C++ libraries?



Once I get basic compilation working with the standard c / c++ include files, I’m going to have to get it working for making actual windows programs. I have TDM’s MinGW. Is there anything special I need to do to get clang to recognize <windows.h> and other Windows OS include files, or do I just point the compiler search paths at MinGW?



I’m sorry if these questions have already been asked and answered, but I haven’t found a useful way to search the cfe-users archives. (Does the BSD community have an acquired allergy to off-the-shelf forum software? Just asking.)



Any help would be appreciated.

Thanks.


_______________________________________________
cfe-users mailing list
cfe-users@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users

Reply via email to