Я столкнулся с этой ошибкой при попытке скомпилировать приложение Gtest с помощью MinGW в Windows:
[build] D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-ucrt_exit_wrappers.o):ucrt_exit_wrappers.c:(.rdata$.refptr.__imp__Exit[.refptr.__imp__Exit]+0x0): undefined reference to `__imp__Exit'
[build] D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-ucrt_exit_wrappers.o):ucrt_exit_wrappers.c:(.rdata$.refptr.__imp_quick_exit[.refptr.__imp_quick_exit]+0x0): undefined reference to `__imp_quick_exit'
Код очень прост и используется только для проверки успешности настройки среды компиляции.
#include
TEST(ApplicationTest, DefaultConstruct) {
int value = 1 + 1;
EXPECT_EQ(value, 2);
}
и файл CMakeLists.txt, помещенный в тестовый каталог:
cmake_minimum_required(VERSION 3.14)
project(entt_demo_tests)
include(FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.17.0
)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
enable_testing()
file(GLOB_RECURSE TEST_SOURCES CONFIGURE_DEPENDS *.cpp *.hpp)
add_executable(${PROJECT_NAME} ${TEST_SOURCES})
target_link_libraries(${PROJECT_NAME}
PRIVATE
GTest::gtest
GTest::gtest_main
)
add_test(
NAME ${PROJECT_NAME}
COMMAND ${PROJECT_NAME}
)
Вот компилятор, который я использую:
> g++ --version
g++.exe (x86_64-win32-seh-rev0, Built by MinGW-Builds project) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Подробнее здесь: https://stackoverflow.com/questions/798 ... o-imp-exit
Ошибка компиляции gtest: неопределенная ссылка на `__imp_ Exit' ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1767450608
Anonymous
Я столкнулся с этой ошибкой при попытке скомпилировать приложение Gtest с помощью MinGW в Windows:
[build] D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-ucrt_exit_wrappers.o):ucrt_exit_wrappers.c:(.rdata$.refptr.__imp__Exit[.refptr.__imp__Exit]+0x0): undefined reference to `__imp__Exit'
[build] D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-ucrt_exit_wrappers.o):ucrt_exit_wrappers.c:(.rdata$.refptr.__imp_quick_exit[.refptr.__imp_quick_exit]+0x0): undefined reference to `__imp_quick_exit'
Код очень прост и используется только для проверки успешности настройки среды компиляции.
#include
TEST(ApplicationTest, DefaultConstruct) {
int value = 1 + 1;
EXPECT_EQ(value, 2);
}
и файл CMakeLists.txt, помещенный в тестовый каталог:
cmake_minimum_required(VERSION 3.14)
project(entt_demo_tests)
include(FetchContent)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.17.0
)
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
enable_testing()
file(GLOB_RECURSE TEST_SOURCES CONFIGURE_DEPENDS *.cpp *.hpp)
add_executable(${PROJECT_NAME} ${TEST_SOURCES})
target_link_libraries(${PROJECT_NAME}
PRIVATE
GTest::gtest
GTest::gtest_main
)
add_test(
NAME ${PROJECT_NAME}
COMMAND ${PROJECT_NAME}
)
Вот компилятор, который я использую:
> g++ --version
g++.exe (x86_64-win32-seh-rev0, Built by MinGW-Builds project) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Подробнее здесь: [url]https://stackoverflow.com/questions/79859740/gtest-complie-error-undefined-reference-to-imp-exit[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия