Page 4 of 11
Re: Собрать Far самому
Posted: Wed 27 Jun, 2012 14:01
by 2useven10
Latest post of the previous page:
И еще сыфшал, что сам фар и плагины к нему собираются разными компиляторами?
Cам фар и стандартные плагины собираются VS 2010.
Cам фар и многие стандартные плагины можно собрать MinGW gcc (4.5.2 -- 4.7.2), arclite нельзя.
Остальные плагины, в зависимости о предпочтений авторов -- VS, gcc, Delphi, FPC, ....
Re: Собрать Far самому
Posted: Wed 27 Jun, 2012 14:47
by mihmig
arclite нельзя.
чьорт! почему так? кошерность теряется. Может как-то можно обойти?
Re: Собрать Far самому
Posted: Wed 27 Jun, 2012 15:15
by 2useven10
просто у автора только VS сборка. код скорее всего соберётся на gcc, надо сделать gcc-мэйки - вполне решаемая задача, если есть желание...
Re: Собрать Far самому
Posted: Wed 27 Jun, 2012 15:45
by 2useven10
и, кстати, чем вас не устраивает VS ?
VC++ 2010 Express, Win SDK 7.1 и обновление для компиляторов (чтобы собирать x64 на VS2010 Express SP1)
всё бесплатно, скачивается с M$ - фар и плагины собираются без проблем.
upd: при установке придётся немного побегать с бубном - но всё решается..
Re: Собрать Far самому
Posted: Wed 27 Jun, 2012 16:46
by Abs
2useven10 wrote: просто у автора только VS сборка. код скорее всего соберётся на gcc, надо сделать gcc-мэйки - вполне решаемая задача, если есть желание...
А разве автор уже адаптировал плагин?
http://forum.farmanager.com/viewtopic.p ... 401#p74387 и ниже.
Собрать Far самому
Posted: Wed 27 Jun, 2012 17:26
by Alexey Samlyukov
Re: Собрать Far самому
Posted: Wed 27 Jun, 2012 18:24
by 2useven10
А разве автор уже адаптировал плагин?
если бы портировал, никакой задачи бы не было - вызвал make и собрал
Re: Кто какими батниками собирает фар и плагины
Posted: Tue 12 Feb, 2013 10:42
by Denis
Сборка x64 под VS2012 c XP mode:
Code: Select all
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x64
set CPU=AMD64
set DEFUSERFLAGS=/D"NO_WRAPPER"
set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib\x64;%LIB%
set _CL_=/D_USING_V110_SDK71_;%_CL_%
set _LINK_=/SUBSYSTEM:CONSOLE,5.02 %_LINK_%
nmake -f makefile_vc
pause
Сборка под vs 2013
Posted: Mon 11 Nov, 2013 09:36
by Denis
Патч для сборки arclite под VS 2013:
Code: Select all
arclite: build under vs2013
diff --git a/plugins/arclite/attr.cpp b/plugins/arclite/attr.cpp
index 3324334..425c30d 100644
--- a/plugins/arclite/attr.cpp
+++ b/plugins/arclite/attr.cpp
@@ -324,7 +324,7 @@ void Archive::load_arc_attr() {
if (File::get_find_data_nt(volume_path, find_data))
arc_size += find_data.size();
});
- unsigned ratio = total_size ? round(static_cast<double>(arc_size) / total_size * 100) : 100;
+ unsigned ratio = total_size ? round_(static_cast<double>(arc_size) / total_size * 100) : 100;
if (ratio > 100)
ratio = 100;
attr.value = int_to_str(ratio) + L'%';
diff --git a/plugins/arclite/common.cpp b/plugins/arclite/common.cpp
index 0550bcf..d9e5682 100644
--- a/plugins/arclite/common.cpp
+++ b/plugins/arclite/common.cpp
@@ -8,7 +8,7 @@
Error g_com_error;
-int round(double d) {
+int round_(double d) {
double a = fabs(d);
int res = static_cast<int>(a);
double frac = a - res;
@@ -25,7 +25,7 @@ unsigned calc_percent(unsigned __int64 completed, unsigned __int64 total) {
if (total == 0)
percent = 0;
else
- percent = round(static_cast<double>(completed) / total * 100);
+ percent = round_(static_cast<double>(completed) / total * 100);
if (percent > 100)
percent = 100;
return percent;
diff --git a/plugins/arclite/common.hpp b/plugins/arclite/common.hpp
index 8fb0500..2761af2 100644
--- a/plugins/arclite/common.hpp
+++ b/plugins/arclite/common.hpp
@@ -190,7 +190,7 @@ struct Attr {
};
typedef list<Attr> AttrList;
-int round(double d);
+int round_(double d);
unsigned calc_percent(unsigned __int64 completed, unsigned __int64 total);
unsigned __int64 get_module_version(const wstring& file_path);
unsigned __int64 parse_size_string(const wstring& str);
diff --git a/plugins/arclite/delete.cpp b/plugins/arclite/delete.cpp
index 04a8e8e..adb48b0 100644
--- a/plugins/arclite/delete.cpp
+++ b/plugins/arclite/delete.cpp
@@ -17,7 +17,7 @@ private:
if (total == 0)
percent_done = 0;
else
- percent_done = round(static_cast<double>(completed) * 100 / total);
+ percent_done = round_(static_cast<double>(completed) * 100 / total);
if (percent_done > 100)
percent_done = 100;
@@ -25,7 +25,7 @@ private:
if (time_elapsed() == 0)
speed = 0;
else
- speed = round(static_cast<double>(completed) / time_elapsed() * ticks_per_sec());
+ speed = round_(static_cast<double>(completed) / time_elapsed() * ticks_per_sec());
wostringstream st;
st << setw(7) << format_data_size(completed, get_size_suffixes()) << L" / " << format_data_size(total, get_size_suffixes()) << L" @ " << setw(9) << format_data_size(speed, get_speed_suffixes()) << L'\n';
diff --git a/plugins/arclite/extract.cpp b/plugins/arclite/extract.cpp
index 5492069..96a7174 100644
--- a/plugins/arclite/extract.cpp
+++ b/plugins/arclite/extract.cpp
@@ -19,10 +19,10 @@ wstring get_progress_bar_str(unsigned width, unsigned percent1, unsigned percent
const wchar_t c_pb_black = 9608;
const wchar_t c_pb_gray = 9619;
const wchar_t c_pb_white = 9617;
- unsigned len1 = round(static_cast<double>(percent1) / 100 * width);
+ unsigned len1 = round_(static_cast<double>(percent1) / 100 * width);
if (len1 > width)
len1 = width;
- unsigned len2 = round(static_cast<double>(percent2) / 100 * width);
+ unsigned len2 = round_(static_cast<double>(percent2) / 100 * width);
if (len2 > width)
len2 = width;
if (len2 > len1)
@@ -57,7 +57,7 @@ private:
if (time_elapsed() == 0)
extract_speed = 0;
else
- extract_speed = round(static_cast<double>(extract_completed) / time_elapsed() * ticks_per_sec());
+ extract_speed = round_(static_cast<double>(extract_completed) / time_elapsed() * ticks_per_sec());
if (extract_total && cache_total > extract_total)
cache_total = extract_total;
diff --git a/plugins/arclite/test.cpp b/plugins/arclite/test.cpp
index 800d40f..a72576c 100644
--- a/plugins/arclite/test.cpp
+++ b/plugins/arclite/test.cpp
@@ -23,7 +23,7 @@ private:
if (time_elapsed() == 0)
speed = 0;
else
- speed = round(static_cast<double>(completed) / time_elapsed() * ticks_per_sec());
+ speed = round_(static_cast<double>(completed) / time_elapsed() * ticks_per_sec());
wostringstream st;
st << fit_str(file_path, c_width) << L'\n';
diff --git a/plugins/arclite/ui.cpp b/plugins/arclite/ui.cpp
index 1418357..61ed245 100644
--- a/plugins/arclite/ui.cpp
+++ b/plugins/arclite/ui.cpp
@@ -1355,7 +1355,7 @@ public:
new_line();
open_shared_ctrl_id = check_box(Far::get_msg(MSG_UPDATE_DLG_OPEN_SHARED), options.open_shared);
spacer(2);
- enable_filter_ctrl_id = check_box(Far::get_msg(MSG_UPDATE_DLG_ENABLE_FILTER), options.filter);
+ enable_filter_ctrl_id = check_box(Far::get_msg(MSG_UPDATE_DLG_ENABLE_FILTER), (bool)options.filter);
new_line();
separator();
diff --git a/plugins/arclite/update.cpp b/plugins/arclite/update.cpp
index 72dff95..3b7ea5b 100644
--- a/plugins/arclite/update.cpp
+++ b/plugins/arclite/update.cpp
@@ -38,7 +38,7 @@ private:
if (time == 0)
speed = 0;
else
- speed = round(static_cast<double>(completed) / time * ticks_per_sec());
+ speed = round_(static_cast<double>(completed) / time * ticks_per_sec());
unsigned __int64 total_time;
if (completed)
diff --git a/plugins/arclite/utils.hpp b/plugins/arclite/utils.hpp
index b97d863..37f88ba 100644
--- a/plugins/arclite/utils.hpp
+++ b/plugins/arclite/utils.hpp
@@ -43,7 +43,7 @@ bool is_unc_path(const wstring& path);
bool is_absolute_path(const wstring& path);
wstring remove_path_root(const wstring& path);
-int round(double d);
+int round_(double d);
class NonCopyable {
protected:
Proclist не собирается под x86:
Plist.obj : error LNK2019: unresolved external symbol __ltod3 referenced in function "void __cdecl DumpNTCounters(void *,class PerfThread &,unsigned long,unsigned long)" (?DumpNTCounters@@YAXPAXAAVPerfThread@@KK@Z)
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 16:29
by Shmuel
GCC это конечно хорошо, но уснуть можно, покуда он собирает Фар.
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 16:38
by Denis
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 16:50
by zg
Shmuel wrote: GCC это конечно хорошо, но уснуть можно, покуда он собирает Фар.
-j 8
Denis wrote: Visual Studio 2013 community edition
под вистой не ставится.
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 17:20
by Shmuel
Code: Select all
gcc: make -j 8 ==> 6 min 15 sec
gcc: make ==> 6 min 12 sec
VS-2010: nmake ==> 1 min 43 sec
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 17:31
by DrKnS
Visual Studio 2010 Express вполне достаточно для сборки всего, ставится даже на XP.
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 18:01
by zg
Shmuel wrote: …
Code: Select all
make
Elapsed Time: 0:05:54.017
make -j 8
Elapsed Time: 0:01:13.881
nmake
Elapsed Time: 0:00:44.335
сборка Far'а и плагинов из исходников
Posted: Fri 10 Apr, 2015 18:28
by Shmuel
zg wrote: Shmuel писал(а):
Рад за тебя, но у меня это не так.