SolveSpace is free software, distributed under the GPLv3. Source code is available for download at:
solvespace-rel2.0.zip
The source code is also hosted in git at Gitorious.
The GPLv3 permits most use of SolveSpace in free software, but generally forbids linking this code with proprietary software. If your application requires a different license, then please contact me for details.
Очень хорошо и оперативно! Я этот SolveSpace попробовал один разик только под wine. Как раз тут буду делать одну хрень - попробую на практике. Пока обошелся решателем, который в FreeCAD. Интересно бы это интегрировать в FreeCAD.
Проблема была в том, что широко используется самодельный malloc-подобный аллокатор, из-за него объекты должны быть POD и в объектах хранились пути к файлам в массивах размером MAX_PATH. Т.к. у нас ничего такого нет, я свелосипедил кеш строк с POD типом. std::string не подходит из-за выделения памяти под объекты самодельным аллокатором.
style.cpp: In static member function «static DWORD Style::Color(int, bool)»: style.cpp:201:21: предупреждение: narrowing conversion of «s» from «int» to «DWORD {aka unsigned int}» inside { } is ill-formed in C++11 [-Wnarrowing] hStyle hs = { s }; ^ style.cpp: In static member function «static float Style::Width(int)»: style.cpp:205:21: предупреждение: narrowing conversion of «s» from «int» to «DWORD {aka unsigned int}» inside { } is ill-formed in C++11 [-Wnarrowing] hStyle hs = { s }; ^ style.cpp: In static member function «static bool Style::Exportable(int)»: style.cpp:293:22: предупреждение: narrowing conversion of «si» from «int» to «DWORD {aka unsigned int}» inside { } is ill-formed in C++11 [-Wnarrowing] hStyle hs = { si }; ^ style.cpp: In static member function «static void TextWindow::ScreenBackgroundImage(int, DWORD)»: style.cpp:405:21: ошибка: invalid use of incomplete type «png_info {aka struct png_info_def}» w = info_ptr->width; ^ In file included from style.cpp:9:0: /usr/include/libpng15/png.h:730:16: ошибка: forward declaration of «png_info {aka struct png_info_def}» typedef struct png_info_def png_info; ^ style.cpp:406:21: ошибка: invalid use of incomplete type «png_info {aka struct png_info_def}» h = info_ptr->height; ^ In file included from style.cpp:9:0: /usr/include/libpng15/png.h:730:16: ошибка: forward declaration of «png_info {aka struct png_info_def}» typedef struct png_info_def png_info; ^ make[2]: *** [style.o] Ошибка 1 make[2]: Выход из каталога `/home/alexandre/soft/cad/solvespace/solvespace-gtk-2013-10-05' make[1]: *** [all-recursive] Ошибка 1 make[1]: Выход из каталога `/home/alexandre/soft/cad/solvespace/solvespace-gtk-2013-10-05' make: *** [all] Ошибка 2
CXX config.o gtk/config.cpp: В функции-члене «void Conf::create_file(const string&)»: gtk/config.cpp:127:11: ошибка: нет декларации «close» в этой области видимости close(fd); ^ gtk/config.cpp: В функции-члене «void Conf::save(const string&, const string&)»: gtk/config.cpp:147:59: ошибка: нет декларации «write» в этой области видимости ssize_t rv = write(fd, buf + written, bufsize - written); ^ gtk/config.cpp:149:13: ошибка: нет декларации «close» в этой области видимости close(fd); ^ gtk/config.cpp:155:11: ошибка: нет декларации «close» в этой области видимости close(fd); ^ make[2]: *** [config.o] Ошибка 1
Просто я знаю от него, что программу кто-то порывался переписать чуть ли не на FLTK :) Как-то не хочется портов на 100500 тулкитов только потому, что вовремя не появился один :)
Я смотрел тот порт, если все что есть в репозитории, то порт сильно не готов. Постараюсь в ближайшие пару дней поправить все что мой порт ломает в windows части и отправить патчи.