CImg.h внутри компиляции проекта HIPC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 CImg.h внутри компиляции проекта HIP

Сообщение Anonymous »

В настоящее время я могу скомпилировать CImg.h с использованием g++, но не с помощью HIPCC с теми же аргументами
Вот пример предупреждения, которого не происходит с g++
./CImg.h:65055:7: warning: length modifier 'I64' results in undefined behavior or no effect with 'u' conversion
specifier [-Wformat]
_cimg_load_cimg_case("bool",0,0,cimg_uint8);

А вот примеры ошибок связывания
lld-link: error: undefined symbol: __declspec(dllimport) EnumDisplaySettingsA
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(int __cdecl cimg_library::cimg::dialog(char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, struct cimg_library::CImg const &, bool))
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(int __cdecl cimg_library::cimg::dialog(char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, struct cimg_library::CImg const &, bool))
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(public: struct cimg_library::CImgDisplay & __cdecl cimg_library::CImgDisplay::_assign(unsigned int, unsigned int, char const *const, unsigned int, bool, bool))
>>> referenced 4 more times

lld-link: error: undefined symbol: __declspec(dllimport) SetWindowPos
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(int __cdecl cimg_library::cimg::dialog(char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, char const *const, struct cimg_library::CImg const &, bool))
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(public: struct cimg_library::CImgDisplay & __cdecl cimg_library::CImgDisplay::resize(int, int, bool))
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(public: struct cimg_library::CImgDisplay & __cdecl cimg_library::CImgDisplay::resize(int, int, bool))

lld-link: error: undefined symbol: __declspec(dllimport) DestroyWindow
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(public: struct cimg_library::CImgDisplay & __cdecl cimg_library::CImgDisplay::assign(void))
>>> referenced by C:\Users\leofr\AppData\Local\Temp\base-fd6cb1.o:(public: struct cimg_library::CImgDisplay & __cdecl cimg_library::CImgDisplay::assign(void))

Я пробовал много вещей, но не смог правильно связать их.
Я хотел бы уточнить, что этого не происходит, когда я просто включаю CImg.h< /p>
#include
//#include "test.cpp" was where I wanted to put isolated gpu code to use here
#include "CImg.h"

int main(){
cimg_library::CImg img("img/test.jpg");

return 0;
}

Это происходит, когда я начинаю использовать его в своем коде.
У вас есть идеи, что мне следует попробовать?
Я тоже попробовал скомпилировать g++ отдельно в файл .o, например
g++ -lgdi32 -c CImg.h -o a.o
который работает
затем
hipcc base.cpp -lgdi32 -o a. exe a.o
На этот раз я получаю ту же ошибку, что и в прошлый раз, с дополнительными предупреждениями вида:
warning: null character ignored [-Wnull-character]
...__SHRT_MAX__ 0x7fff9__LDBL_MAX_


Подробнее здесь: https://stackoverflow.com/questions/783 ... ompilation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»