10.4 버전이며, 최신 패치까지 적용 하였습니다.
1. Thread 예제 컴파일 에러
인터넷 강좌중 Thread 예제를 bcc32c 로 컴파일 하였는데, 단순한 코드 인데도 에러가 발생 합니다.
뭐가 문제 일까요?
C++ 17 이므로 c++17 표준 함수는 전부 사용 가능 할 것이라는 기대를 하였습니다.
코드는 아래와 같습니다. 정말 단순 합니다.
// 내 생에 첫 쓰레드
#include <iostream>
#include <thread>
using std::thread;
void func1() {
for (int i = 0; i < 10; i++) {
std::cout << "쓰레드 1 작동중! \n";
}
}
void func2() {
for (int i = 0; i < 10; i++) {
std::cout << "쓰레드 2 작동중! \n";
}
}
void func3() {
for (int i = 0; i < 10; i++) {
std::cout << "쓰레드 3 작동중! \n";
}
}
int main() {
thread t1(func1);
thread t2(func2);
thread t3(func3);
t1.join();
t2.join();
t3.join();
}
**** 컴파일러 버전정보 입니다.
D:\C++Test>bcc32c --version
Embarcadero C++ 7.50 for Win32 Copyright (c) 2012-2020 Embarcadero Technologies, Inc.
Embarcadero Technologies Inc. bcc32c version 5.0.2 (35465.f352ad3.17344af) (based on LLVM 5.0.2)
Target: i686-pc-windows-omf
Thread model: posix
InstalledDir: C:\Program Files (x86)\Embarcadero\Studio\21.0\bin
**** 에러 메세지 입니다.
D:\C++Test>bcc32c Thread11.cpp
Embarcadero C++ 7.50 for Win32 Copyright (c) 2012-2020 Embarcadero Technologies, Inc.
Thread11.cpp:
Turbo Incremental Link 6.93 Copyright (c) 1997-2020 Embarcadero Technologies, Inc.
Error: Unresolved external '__Cnd_init' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external 'std::_Throw_C_error(int)' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Mtx_init' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Mtx_lock' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Mtx_destroy' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Cnd_destroy' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Cnd_signal' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Mtx_unlock' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Cnd_do_broadcast_at_thread_exit' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Thrd_start' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Cnd_wait' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Thrd_id' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external '__Thrd_join' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unresolved external 'std::_Throw_Cpp_error(int)' referenced from C:\USERS\DUSTL\APPDATA\LOCAL\TEMP\THREAD11-57D3D1.O
Error: Unable to perform link
bcc32c.exe: error: linker command failed with exit code 2 (use -Xdriver -v to see invocation)
2. 자동완성 기능 안됨
컴파일러를 C++ 17를 사용하면 코드 자동완성 기능이 작동 하지 않습니다. (첨부 파일 동영상 참고)
이문제는 나만 있는 것인가요?
10.3버전도 설치되어 있는데, 이 것 때문일까요?
|