HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
一、有用的鏈接
1. TuxPaint。如果你想用mingw編譯sdl,gtk,可以參考tuxpaint作者給出的文檔,里面介紹了一些舊版本的mingw編譯方法,很詳細(xì)。
http://johnnypops.demon.co.uk/mingw/
(已廢)
2. MozillaBuild。一個(gè)配好的命令行編譯環(huán)境(包括mingw)可以參考它的方法自己定制綠色版的msys/mingw。
ftp://ftp.mozilla.org/pub/mozilla/libraries/win32
https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Windows_Prerequisites
3. MinGW。官方提供的支持mingw編譯的軟件清單。羅列了很多出名的C/C++開(kāi)發(fā)庫(kù)
http://www.mingw.org/wiki/Community_Supplied_Links
4. Haxe。說(shuō)了一些mingw編譯的技巧
http://haxe.org/doc/build/haxe_windows
5. 一些mingw的編譯src
http://www.evolane.com/download/mirror/mingw/
6. 一些庫(kù)的mingw預(yù)編譯(只包含頭文件和庫(kù)文件)
http://cefiro.homelinux.org/resources/mingw-repository/release/
7. MinGW MSys GTK Configuration Guide(話說(shuō)回來(lái)GTK+的源代碼是我另一個(gè)已知的難編譯的庫(kù),至今仍沒(méi)成功用mingw編譯過(guò))
http://gcam.js.cx/index.php/MinGW_MSys_GTK_Configuration_Guide
8. PostgreSQL。它的源代碼提及到一些linux專有的頭文件怎么用windows平臺(tái)SDK的頭文件代替,對(duì)mingw移植有點(diǎn)幫助(因?yàn)閙ingw支持直接用windows的SDK頭文件,用這種方法避開(kāi)編譯錯(cuò)誤)。
http://www.postgresql.org/
--------------
(20100807update)
9. Installing MinGW, compiling Perl and vim
http://www.adp-gmbh.ch/blog/2004/october/9.html
10. Win32CompileMSYSNew
http://wiki.videolan.org/Win32CompileMSYSNew
11. EFLWindowsXP mingw build
http://trac.enlightenment.org/e/wiki/EFLWindowsXP
12. Wormux : Compilation using mingw (native and cross-compilation) - Documentation
http://www.wormux.org/phpboost/wiki/compilation-using-mingw-native-and-cross-compilation
13. MinGW cross compiling environment
http://www.nongnu.org/mingw-cross-env/#introduction
14. FAQ | MinGW(關(guān)于pkg-config和python)
http://www.mingw.org/wiki/FAQ
---------------------------------------
(2010-08-28 update)
15.Logue
介紹一些可用于編譯ONScripter的MinGW平臺(tái)和程序庫(kù)
http://logue.be/MinGW.html (舊的)
mingw-logue-pack
http://logue.be/MinGW
http://code.google.com/p/mingw-logue-pack/
提及以下鏈接(16-19)
16.qp-gcc
http://code.google.com/p/qp-gcc/
17. MinGW Komisar
http://komisar.gin.by/mingw/
18. TDM版MinGW
http://tdm-gcc.tdragon.net/
19. MinGW Distro
http://nuwen.net/mingw.html
20. 在windows下編譯linux 0.11
http://www.oldlinux.org/oldlinux/viewthread.php?tid=11005&extra=page%3D1&page=1
21. jhbuild on windows
http://afuera.me.uk/jhbuild-windows/
22. MinGW的舊網(wǎng)頁(yè)
http://oldwiki.mingw.org/index.php/GettingStarted
23. MinGW性能比較
http://www.interq.or.jp/japan/s-imai/tcltk/msys_mingw.html
24. MinGW安裝
http://apis.jpn.ph/fswiki/wiki.cgi?page=Win32%2FCompiler%2FMinGW
25. ossbuild,包括MinGW與VS,目的是為了使用GStreamer。
下載中包含一個(gè)MSYS/MinGW編譯環(huán)境。
http://code.google.com/p/ossbuild/
---------------------------------------
(20100831)
26. Building GnuPG for Win32 using MinGW
http://clbianco.altervista.org/gnupg/eng/gnupg.html
--------------------------------------
(20100902)
27.Dev-C++
http://sourceforge.net/projects/dev-cpp/
http://www.inf.pucrs.br/~grv/Pong2/Dev-C++/Bin/
28. msysDVLPR-1.0.0 / HOWTO Create an MSYS Build Environment
http://www.mingw.org/wiki/HOWTO_Create_an_MSYS_Build_Environment
29. MinGWとEclipse CDT
http://blog.livedoor.jp/dq_school/archives/1321067.html
http://blog.livedoor.jp/dq_school/archives/1322435.html
30. i18n-zh
http://code.google.com/p/i18n-zh
------------------------------------
(20101212)
31. mplayer編譯工具鏈
http://oss.netfarm.it/mplayer-win32.php
http://sourceforge.net/projects/mplayer-win32/files/Toolchain/20080717/
http://sourceforge.net/projects/mplayer-win32/files/MinGW/MinGW%20BE%20gcc%204.2.5/MinGW-full-gcc-4.2.5-Dec-2010.7z/download
-----------------------------------------
(20110320)
32. RubyInstaller for Windows
https://github.com/oneclick/rubyinstaller
33. MozillaBuild
(準(zhǔn)確來(lái)說(shuō)MozillaBuild還集成了許多Win下的工具,包括VC的命令行,
主要用于在Windows下編譯Mozilla的子項(xiàng)目)
https://developer.mozilla.org/en/Windows_Build_Prerequisites
(注:和前面重復(fù)了)
34. msys-cn
http://code.google.com/p/msys-cn/
35. micron
http://code.google.com/p/micron/
-----------------------------------------
20110409
36. mingw-and-ndk
http://code.google.com/p/mingw-and-ndk/
-----------------------------------------
20110419
37. Code::Blocks
http://www.codeblocks.org/home
38. Eclipse CDT
http://www.eclipse.org/cdt/
-----------------------------------------
20110707
39. mingwer
MinGWer is a MinGW distribution
http://code.google.com/p/mingwer/
-----------------------------------------
20120125
40. TakeoffGW
http://sourceforge.net/projects/takeoffgw/
(待補(bǔ)充...)
二、使用libmysql(MySQL的C客戶端)
官方?jīng)]有直接給.a,要么在網(wǎng)上找,要么用reimp和dlltool生成,要么就直接把.lib當(dāng).o來(lái)用。
方法一:生成.exe時(shí)用現(xiàn)成的libmysql.a,然后使用-l編譯。
例如$(CC) -o main.exe main.o -L. -lmysql
libmysql.a下載請(qǐng)參考:
http://blog.yam.com/jasonching58/article/25478748
http://seefromus.com/browse.php?u=ff0e598c86b9f79e4T2lNamQzZDNMbTl3Wlc1M1pXSnpjR2xrWlhJdWIzSm5MMlJ2WTNWdFpXNTBZWFJwYjI0dmFHOTNMWFJ2TFd4cGJtc3RiR2xpYlhsemNXeHNhV0l0ZDJsMGFDMWtaWFl0WXkxdmNpMW5ZMk10ZFc1a1pYSXRkMmx1Wkc5M2N5OD0%3D&b=29
你也可以自己生成libmysql.a,不過(guò)要用到reimp(需要單獨(dú)去sourceforge下載),而且可能會(huì)不成功(我試了很多次都不行)。
另外你需要自己找include目錄(重新安裝,選擇自定義安裝,然后勾選全部,裝完后拷貝myssql目錄下的include,然后-I指定)。
方法二:取安裝包里的include和lib目錄
或者官方網(wǎng)站上的Connector/C
http://dev.mysql.com/downloads/connector/c/
然后把.lib與.o文件一起gcc即可
下面是方法二的Makefile
Makefile代碼 CC = gcc CFLAGS = -g -I./include/ all: main.exe main.exe: main.o $(CC) -o main.exe main.o libmysql.lib main.o: main.c $(CC) $(CFLAGS) -c -o $@ $< clean: rm -f *.o main.exe *.a
其實(shí)還有一種(錯(cuò)誤的)方法,把STDCALL宏中的__stdcall去掉,然后用.dll與.o一起gcc,
不過(guò)發(fā)現(xiàn)會(huì)在讀sql時(shí)崩潰,估計(jì)是出現(xiàn)臟指針。對(duì)于寫(xiě)操作倒是沒(méi)問(wèn)題的(沒(méi)有用臟指針)
下面是我測(cè)試用的main.c,來(lái)源于
http://www.cnblogs.com/linbc/archive/2009/06/15/1503924.html
C代碼 /* * main.c * * Created on: 2010-8-2 * Author: Administrator */ #ifndef MAIN_H_ #define MAIN_H_ #include #include #include #include //#include #include static char *opt_host_name = "localhost" ; static char *opt_user_name = "root" ; static char *opt_password = "123456" ; static unsigned int opt_port_num = 3306; static char *opt_socket_name = NULL; static char *opt_db_name = "test" ; static unsigned int opt_flags = 0; static MYSQL *conn; void print_error(MYSQL *conn, const char *title){ fprintf(stderr, "%s:\nError %u (%s)\n" ,title,mysql_errno(conn),mysql_error(conn)); } void process_result_set(MYSQL *conn,MYSQL_RES *res_set){ far MYSQL_ROW row; unsigned int i; while ((row = mysql_fetch_row(res_set)) != NULL){ for (i=0;i 0) fputc( '\t' ,stdout); row[i] = row[i]; printf( "%1s" ,row[i] != NULL ? row[i] : "NULL" ); } fputc( '\n' ,stdout); } if (mysql_errno(conn) != 0) print_error(conn, "mysql_fetch_row() failed" ); else printf( "%lu rows returned \n" , (unsigned long )mysql_num_rows(res_set)); } int main( int argc, _TCHAR* argv[]) { if ( (conn = mysql_init(NULL))== NULL){ fprintf(stderr, "mysql 初始化失敗(可能是內(nèi)存溢出)!\n" ); exit(1); } if (mysql_real_connect(conn,opt_host_name,opt_user_name,opt_password, opt_db_name,opt_port_num,opt_socket_name,opt_flags) == NULL){ fprintf(stderr, "mysql_real_connect 失敗:\nError %u (%s)\n" , mysql_errno(conn),mysql_error(conn)); mysql_close(conn); exit(1); } if (mysql_query(conn, "insert into t (num, date) values (0, now());" )){ print_error(conn, "執(zhí)行插入失敗" ); } else { printf( "插入成功,受影響行數(shù):%lu\n" ,(unsigned long )mysql_affected_rows(conn)); } if (mysql_query(conn, "select * from t" )){ print_error(conn, "mysql_query() error" ); } else { MYSQL_RES *res_set; res_set = mysql_store_result(conn); /**/ /*生成結(jié)果集*/ if (res_set == NULL) print_error(conn, "mysql_store_result failed" ); else { process_result_set(conn,res_set); mysql_free_result(res_set); } } /**/ /*斷開(kāi)*/ mysql_close(conn); getchar(); return 0; } #endif
#include 會(huì)造成很多警告,我把它注釋了,但官方說(shuō)最好加上,
#include 是為了避免找不到winsock的定義(老問(wèn)題了)
----------------------------------------------------------------------------------------------
三、從源碼中使用MinGW簡(jiǎn)單編譯libmysql。
如果直接用mysql提供的mysqlclient.lib進(jìn)行靜態(tài)鏈接(使用mingw的gcc),會(huì)使ld崩潰而編譯失敗。
唯一的方法是從源代碼中構(gòu)建。
官方源代碼包中有說(shuō)明文件介紹如何用CMake配合腳本進(jìn)行配置,然后用VS打開(kāi)工程進(jìn)行編譯。
這里不討論這種方法,而是討論假借這種方法把工程移到makefile后的情況。
下面介紹的是在MinGW中編譯libmysql(MySQL 5.1.49)簡(jiǎn)單測(cè)試上面那段代碼(靜態(tài)庫(kù)-g鏈接)
(注:因?yàn)槭呛?jiǎn)單測(cè)試,所以只考慮到代碼中涉及的libmysql的API,
其它API在編譯時(shí)可能會(huì)有更為復(fù)雜的問(wèn)題)
一、下載MySQL源代碼
http://www.mysql.com/downloads/mysql/
Select Platform:選擇Source Code
二、解壓縮,然后寫(xiě)個(gè)Makefile(是我反復(fù)修改的,
方法是把CMake后的VC2008工程libmysql.vcproj中.c文件名抽取出來(lái),
整理后所得),如下:
Makefile代碼 PLAT= none CC= gcc CPP= g++ #release : -O0 -g3 -Wall -fmessage-length= 0 #debug : -O2 -g -Wall -fmessage-length= 0 # Note1: uncomment this line "MYCFLAGS= -O2 -g" if you want to debug. # In CDT, right click project explorer and "Clean Project" to rebuild this project. # 如果要換成debug模式,可以解除下句的注釋 ,還有下文的Note2 MYCFLAGS= -O0 -g3 CFLAGS= $(MYCFLAGS) -Wall -fmessage-length= 0 \ -DWIN32 -D_WINDOWS -D_DEBUG -DFORCE_INIT_OF_VARS \ -DENABLED_DEBUG_SYNC -DSAFEMALLOC -DSAFE_MUTEX -DUSE_TLS \ -D_CRT_SECURE_NO_DEPRECATE -DWITH_CSV_STORAGE_ENGINE \ -DWITH_HEAP_STORAGE_ENGINE -DWITH_MYISAM_STORAGE_ENGINE \ -DWITH_MYISAMMRG_STORAGE_ENGINE -DWITH_PARTITION_STORAGE_ENGINE \ -D_LIB -DYASSL_PREFIX -DYASSL_THREAD_SAFE -DHAVE_YASSL \ -DCMAKE_CONFIGD -DDEFAULT_MYSQL_HOME= "\"c:/Program Files/MySQL/MySQL Server 5.1/\"" \ -DDEFAULT_BASEDIR= "\"c:/Program Files/MySQL/\"" \ -DMYSQL_DATADIR= "\"c:/Program Files/MySQL/MySQL Server 5.1/data\"" \ -DDEFAULT_CHARSET_HOME= "\"c:/Program Files/MySQL/MySQL Server 5.1/\"" \ -DPACKAGE=mysql -DSHAREDIR= "\"share\"" -D__NT__ \ -D_WIN32_WINNT= 0x0501 -DCMAKE_INTDIR=\ "Debug\" \ -Dlibmysql_EXPORTS -D_WINDLL -D_MBCS \ -DNO_OLDNAMES -DHAVE_RINT \ -I./include -I./libmysql -I./regex -I./sql \ -I./strings -I./zlib -I./dbug \ -I./extra/yassl/taocrypt/mySTL \ -I./extra/yassl/taocrypt/include \ -I./extra/yassl/include CPPFLAGS = $(CFLAGS) LIBS= TESTCFLAGS= $(MYCFLAGS) -Wall -fmessage-length= 0 \ -I./include TESTLIBS = ./lib/libmysql.dll.a AR= ar rcu RANLIB= ranlib RM= rm -f OBJECTS= zlib/adler32.o \ zlib/compress.o \ zlib/crc32.o \ zlib/deflate.o \ zlib/gzio.o \ zlib/infback.o \ zlib/inffast.o \ zlib/inflate.o \ zlib/inftrees.o \ zlib/trees.o \ zlib/uncompr.o \ zlib/zutil.o \ sql-common/client.o \ sql-common/my_time.o \ sql-common/pack.o \ sql/net_serv.o \ sql/password.o \ strings/bchange.o \ strings/bmove.o \ strings/bmove_upp.o \ strings/ctype-big5.o \ strings/ctype-bin.o \ strings/ctype-cp932.o \ strings/ctype-czech.o \ strings/ctype-euc_kr.o \ strings/ctype-eucjpms.o \ strings/ctype-extra.o \ strings/ctype-gb2312.o \ strings/ctype-gbk.o \ strings/ctype-latin1.o \ strings/ctype-mb.o \ strings/ctype-simple.o \ strings/ctype-sjis.o \ strings/ctype-tis620.o \ strings/ctype-uca.o \ strings/ctype-ucs2.o \ strings/ctype-ujis.o \ strings/ctype-utf8.o \ strings/ctype-win1250ch.o \ strings/ctype.o \ strings/int2str.o \ strings/is_prefix.o \ strings/my_strtoll10.o \ strings/llstr.o \ strings/longlong2str.o \ strings/my_vsnprintf.o \ strings/str2int.o \ strings/str_alloc.o \ strings/strcend.o \ strings/strcont.o \ strings/strend.o \ strings/strfill.o \ strings/strinstr.o \ strings/strmake.o \ strings/strmov.o \ strings/strnlen.o \ strings/strnmov.o \ strings/strtod.o \ strings/strtoll.o \ strings/strtoull.o \ strings/strxmov.o \ strings/strxnmov.o \ strings/xml.o \ vio/vio.o \ vio/viosocket.o \ vio/viossl.o \ vio/viosslfactories.o \ dbug/dbug.o \ dbug/factorial.o \ dbug/sanity.o \ mysys/array.o \ mysys/charset-def.o \ mysys/charset.o \ mysys/default.o \ mysys/errors.o \ mysys/hash.o \ mysys/my_sleep.o \ mysys/default_modify.o \ mysys/list.o \ mysys/mf_arr_appstr.o \ mysys/mf_cache.o \ mysys/mf_dirname.o \ mysys/mf_fn_ext.o \ mysys/mf_format.o \ mysys/mf_iocache.o \ mysys/mf_iocache2.o \ mysys/mf_loadpath.o \ mysys/mf_pack.o \ mysys/mf_path.o \ mysys/mf_tempfile.o \ mysys/mf_unixpath.o \ mysys/mf_wcomp.o \ mysys/mulalloc.o \ mysys/my_access.o \ mysys/my_alloc.o \ mysys/my_chsize.o \ mysys/my_compress.o \ mysys/my_create.o \ mysys/my_delete.o \ mysys/my_div.o \ mysys/my_error.o \ mysys/my_file.o \ mysys/my_fopen.o \ mysys/my_fstream.o \ mysys/my_gethostbyname.o \ mysys/my_getopt.o \ mysys/my_getwd.o \ mysys/my_init.o \ mysys/my_lib.o \ mysys/my_malloc.o \ mysys/my_messnc.o \ mysys/my_net.o \ mysys/my_once.o \ mysys/my_open.o \ mysys/my_pread.o \ mysys/my_pthread.o \ mysys/my_read.o \ mysys/my_realloc.o \ mysys/my_rename.o \ mysys/my_seek.o \ mysys/my_static.o \ mysys/my_symlink.o \ mysys/my_symlink2.o \ mysys/my_thr_init.o \ mysys/my_wincond.o \ mysys/my_winthread.o \ mysys/my_write.o \ mysys/safemalloc.o \ mysys/sha1.o \ mysys/string.o \ mysys/thr_mutex.o \ mysys/typelib.o \ mysys/mf_qsort.o \ mysys/my_getsystime.o \ mysys/my_sync.o \ libmysql/errmsg.o \ libmysql/get_password.o \ libmysql/dll.o \ libmysql/libmysql.o \ libmysql/manager.o \ extra/yassl/taocrypt/src/aes.o \ extra/yassl/taocrypt/src/aestables.o \ extra/yassl/taocrypt/src/algebra.o \ extra/yassl/taocrypt/src/arc4.o \ extra/yassl/taocrypt/src/asn.o \ extra/yassl/taocrypt/src/coding.o \ extra/yassl/taocrypt/src/des.o \ extra/yassl/taocrypt/src/dh.o \ extra/yassl/taocrypt/src/dsa.o \ extra/yassl/taocrypt/src/file.o \ extra/yassl/taocrypt/src/hash.o \ extra/yassl/taocrypt/src/integer.o \ extra/yassl/taocrypt/src/md2.o \ extra/yassl/taocrypt/src/md4.o \ extra/yassl/taocrypt/src/md5.o \ extra/yassl/taocrypt/src/misc.o \ extra/yassl/taocrypt/src/random.o \ extra/yassl/taocrypt/src/ripemd.o \ extra/yassl/taocrypt/src/rsa.o \ extra/yassl/taocrypt/src/sha.o \ extra/yassl/src/buffer.o \ extra/yassl/src/cert_wrapper.o \ extra/yassl/src/crypto_wrapper.o \ extra/yassl/src/handshake.o \ extra/yassl/src/handshake.o \ extra/yassl/src/lock.o \ extra/yassl/src/log.o \ extra/yassl/src/socket_wrapper.o \ extra/yassl/src/ssl.o \ extra/yassl/src/timer.o \ extra/yassl/src/yassl_error.o \ extra/yassl/src/yassl_imp.o \ extra/yassl/src/yassl_int.o \ # Note2: if you want to comment this line "MYCFLAGS= -O2 -g" , # please use "cleanbin" & "clean" and rebuild the project( "Clean Project" ) # 切換debug和release版時(shí)(即修改MYCFLAGS),最好用下面的make all重新編譯一次 #all : cleanbin bin/zlib.dll lib/libz.a bin/example.exe clean all : libmysql.a test.exe libmysql.dll : $(OBJECTS) $(CC) -shared -o $@ $(OBJECTS) $(LIBS) cp -p bin/zlib.dll lib/libmysql.dll.a libmysql.a : $(OBJECTS) $(AR) $@ $(OBJECTS) #strip --strip-unneeded $@ #-l次序需要注意 test.exe : gcc $(CFLAGS) -o $@ main.c -L. -lmysql -lws2_32 -lstdc++ clean : rm -f $(OBJECTS) rm -f *.a *.dll *.exe cleanbin : rm -f bin/libmysql.dll lib/libmysql.a lib/libmysql.dll.a run : all bin/example.exe
三、創(chuàng)建新文件include/mysql_version.h,如下:
C代碼 /* Copyright Abandoned 1996, 1999, 2001 MySQL AB This file is public domain and comes with NO WARRANTY of any kind */ /* Version numbers for protocol & mysqld */ #ifndef _mysql_version_h #define _mysql_version_h #ifdef _CUSTOMCONFIG_ #include #else #define PROTOCOL_VERSION 10 #define MYSQL_SERVER_VERSION "5.1.49" #define MYSQL_BASE_VERSION "mysqld-5.1" #define MYSQL_SERVER_SUFFIX_DEF "" #define FRM_VER 6 #define MYSQL_VERSION_ID 50149 #define MYSQL_PORT 3306 #define MYSQL_PORT_DEFAULT 0 #define MYSQL_UNIX_ADDR "/tmp/mysql.sock" #define MYSQL_CONFIG_NAME "my" #define MYSQL_COMPILATION_COMMENT "Source distribution" /* mysqld compile time options */ #endif /* _CUSTOMCONFIG_ */ #ifndef LICENSE #define LICENSE GPL #endif /* LICENSE */ #endif /* _mysql_version_h */
四、創(chuàng)建將要測(cè)試的客戶端c源文件main.c(和上面一樣),如下
C代碼 /* * main.c * * Created on: 2010-8-2 * Author: Administrator */ #ifndef MAIN_H_ #define MAIN_H_ #include #include #include #include //#include #include static char *opt_host_name = "localhost" ; static char *opt_user_name = "root" ; static char *opt_password = "123456" ; static unsigned int opt_port_num = 3306; static char *opt_socket_name = NULL; static char *opt_db_name = "test" ; static unsigned int opt_flags = 0; static MYSQL *conn; void print_error(MYSQL *conn, const char *title){ fprintf(stderr, "%s:\nError %u (%s)\n" ,title,mysql_errno(conn),mysql_error(conn)); } void process_result_set(MYSQL *conn,MYSQL_RES *res_set){ far MYSQL_ROW row; unsigned int i; while ((row = mysql_fetch_row(res_set)) != NULL){ for (i=0;i 0) fputc( '\t' ,stdout); row[i] = row[i]; printf( "%1s" ,row[i] != NULL ? row[i] : "NULL" ); } fputc( '\n' ,stdout); } if (mysql_errno(conn) != 0) print_error(conn, "mysql_fetch_row() failed" ); else printf( "%lu rows returned \n" , (unsigned long )mysql_num_rows(res_set)); } int main( int argc, _TCHAR* argv[]) { if ( (conn = mysql_init(NULL))== NULL){ fprintf(stderr, "mysql 初始化失敗(可能是內(nèi)存溢出)!\n" ); exit(1); } if (mysql_real_connect(conn,opt_host_name,opt_user_name,opt_password, opt_db_name,opt_port_num,opt_socket_name,opt_flags) == NULL){ fprintf(stderr, "mysql_real_connect 失敗:\nError %u (%s)\n" , mysql_errno(conn),mysql_error(conn)); mysql_close(conn); exit(1); } if (mysql_query(conn, "insert into t (num, date) values (0, now());" )){ print_error(conn, "執(zhí)行插入失敗" ); } else { printf( "插入成功,受影響行數(shù):%lu\n" ,(unsigned long )mysql_affected_rows(conn)); } if (mysql_query(conn, "select * from t" )){ print_error(conn, "mysql_query() error" ); } else { MYSQL_RES *res_set; res_set = mysql_store_result(conn); /**/ /*生成結(jié)果集*/ if (res_set == NULL) print_error(conn, "mysql_store_result failed" ); else { process_result_set(conn,res_set); mysql_free_result(res_set); } } /**/ /*斷開(kāi)*/ mysql_close(conn); getchar(); return 0; } #endif
五、修改mysys/my_init.c,加上MINGW32的判斷和#include ,
否則,uintptr_t無(wú)定義錯(cuò)誤(懷疑是因?yàn)檫@個(gè)類型在mingw的定義的頭文件和VC2008的不一樣)。
C代碼 #if defined(__MINGW32__) #include #endif void my_parameter_handler( const wchar_t * expression, const wchar_t * function, const wchar_t * file, unsigned int line, uintptr_t pReserved) { DBUG_PRINT( "my" ,( "Expression: %s function: %s file: %s, line: %d" , expression, function, file, line)); }
六、修改include/config-win.h,在inline前加上static,
使每個(gè).o的inline函數(shù)符號(hào)不重復(fù),避免符號(hào)沖突。
否則在鏈接時(shí)候出現(xiàn)大量multiple definition錯(cuò)誤。
C代碼 static inline double ulonglong2double(ulonglong value) static inline ulonglong double2ulonglong( double d)
七、修改extra/yassl/taocrypt/include/runtime.hpp,加上MINGW32判斷,
否則出現(xiàn)multiple definition of `__cxa_pure_virtual'
C代碼 #if defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER) || defined(__MINGW32__))
八、修改mysys/my_open.c,加上#undef __WIN__,屏蔽sopen的windows移植。
否則會(huì)出現(xiàn)undefined reference to `_dosmaperr'。
C代碼 #include "mysys_priv.h" #include "mysys_err.h" #include #include #undef __WIN__ #if defined(__WIN__) #include #endif
九、Makefile的問(wèn)題
a)
Makefile編譯參數(shù)加上-DNO_OLDNAMES -DHAVE_RINT否則會(huì)有一堆函數(shù)重復(fù)定義
b)
加入yaSSL時(shí),出現(xiàn)大量類似信息:
undefined reference to `operator delete(void*)'
需要在編譯參數(shù)中加入-lstdc++
c)
出現(xiàn)類似信息
undefined reference to `socket @12 '
需要在編譯參數(shù)中加入-lws2_32
d)
注意順序要在-lmysql后
Makefile代碼 test.exe : gcc $(CFLAGS) -o $@ main.c -L. -lmysql -lws2_32 -lstdc++
否則會(huì)導(dǎo)致-l失效
十、執(zhí)行make clean && make最后生成exe為7.75 MB(-g編譯),運(yùn)行正常(沒(méi)有出現(xiàn)崩潰情況)
------------------------------------------------------------------------
2010-11-06補(bǔ)充:
mingw相關(guān)信息的鏈接
minGW+mSYS+Apache+PHP+Postgresql
https://www.prodigyone.com/in/doc/docs.php?view=1&nid=224
MinGW安裝方法
http://tech.idv2.com/2006/03/27/mingw-install-note/
monotone/ Building/ Windows/ MinGW
http://wiki.monotone.ca/Building/Windows/MinGW/
Command line build using MinGW and autotools
http://wiki.apache.org/logging-log4cxx/MSWindowsBuildInstructions
在mingw下編譯mplayer(轉(zhuǎn)載)
http://hi.baidu.com/honanlinux/blog/item/e24f954a01bccff682025ca7.html
------------------------------------------------------------------------
profile.d配置方案:
保存在/etc/profile.d/local.sh(由/etc/profile調(diào)用)
把/local/bin加入PATH,把/local/include、/local/lib加入編譯器的頭文件和庫(kù)文件搜索路徑。
Sh代碼 #! /usr/bin/sh export CPATH=/usr/local/include:/usr/include:$CPATH export C_INCLUDE_PATH=/usr/local/include:/usr/include:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/usr/local/include:/usr/include:$CPLUS_INCLUDE_PATH export OBJC_INCLUDE_PATH=/usr/local/include:/usr/include:$OBJC_INCLUDE_PATH export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH export LIBRARY_PATH=/usr/local/lib:/usr/lib:$LIBRARY_PATH export LIBPATH=/usr/local/lib:/usr/lib:$LIBPATH
------------------
20111022補(bǔ)充
對(duì)于在Linux上自己編譯安裝的程序,由于在執(zhí)行./configure --prefix=<絕對(duì)路徑>指定的路徑
一般在home目錄中,所以編譯存在依賴關(guān)系的程序時(shí),通常要用
$ PKG_CONFIG_PATH=<絕對(duì)路徑>/lib/pkgconfig/:$PKG_CONFIG_PATH ./configure --prefix=<絕對(duì)路徑>
或
$ export PKG_CONFIG_PATH=<絕對(duì)路徑>/lib/pkgconfig/:$PKG_CONFIG_PATH
$ ./configure --prefix=<絕對(duì)路徑>
使configure能準(zhǔn)確找到庫(kù)安裝的位置
使用
$ LD_LIBRARY_PATH=<絕對(duì)路徑>/lib:$LD_LIBRARY_PATH ./xxx
或
$ export LD_LIBRARY_PATH=<絕對(duì)路徑>/lib:$LD_LIBRARY_PATH
$ ./xxx
指定./xxx程序需要用到的.so文件所在的路徑。
(如果使用sudo,則環(huán)境變量LD_LIBRARY_PATH的賦值必須跟在sudo后面)
-------------------------------
2012-01-06
更換ubuntu的軟件源
ubuntu的apt-get有時(shí)候下載會(huì)很慢,需要更換軟件源指向國(guó)內(nèi)的鏡像以加速下載。
Administration->software sources
->Download from:選擇最近的鏡像
---------------------------------------------
apt-get使用問(wèn)題:
$ sudo apt-cache search boost
搜索軟件包
$ sudo apt-get install libboost1.40-all-dev
安裝boost(一定要用all-dev,不要用dev,否則不全)
---------------------------------------------
(后續(xù),待修改)
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2013-11-15 18:22:00
iPhone 6s plus 正常解鎖使用過(guò)程中 突然顯示 iPhone 已停用 連接 iTunes 。不是輸錯(cuò)密碼導(dǎo)致,更不想連接 iTunes 進(jìn)行最新軟件刷機(jī),這樣會(huì)導(dǎo)致機(jī)器丟失資料和冒險(xiǎn)嘗試新系統(tǒng)。 已致電 4006668800,客服沒(méi)給出解決方案,說(shuō)幫助聯(lián)系高級(jí)客服,讓我不要掛斷,但突然斷線,再次撥打幾次不能成功接入客服,會(huì)被直接斷線。 百度了一下,有極少數(shù)像這樣的情況,同樣沒(méi)有解決方案,6sp 目前系統(tǒng) 12.2
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:06:28
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
memcached 1.4.13
windows 7 32位 home basic
mingw 20120426-1
gcc version 4.7.0
一直編譯不出來(lái)
還有l(wèi)ibevent 1.4.14或者2.0.19都編譯成功的
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2012-06-14 13:42:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 直接上代碼吧,這個(gè)問(wèn)題太奇葩了。。。 這是正常輸入情況 這是輸一個(gè)的情況 這是輸入多個(gè)的情況 誰(shuí)遇到過(guò)這樣的現(xiàn)象啊,求助!
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2015-06-09 12:12:00
本來(lái)是張綠色的背景紙, 結(jié)果變成了青色, 這是什么功能? 如何關(guān)閉?
視頻:
https://github.com/FaiChou/private_icons/blob/master/b.MP4?raw=true Your browser does not support the video tag.
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:06:08
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
#include #include int main() { socket(PF_INET, SOCK_DGRAM, 0); printf("hello, msys2.\n"); return 0; }
要求編譯后的exe文件可獨(dú)立運(yùn)行而不依靠cygwin1.dll
不能用gcc3,所以別告訴我 -mno-cygwin
別告訴我宏替換#IFDEF __WINNT__ #include 這樣的方法
別告訴我打包c(diǎn)ygwin1.dll然后運(yùn)行時(shí)解壓到臨時(shí)目錄這樣的“奇技淫巧”
如果確定可解決,回復(fù)你的支付寶帳號(hào)5分鐘內(nèi)打款1000給您。
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2015-05-29 12:23:00
前段時(shí)間有一款不錯(cuò)的游戲國(guó)服上架了 玩了玩國(guó)服覺(jué)得國(guó)際服更好玩就下載了國(guó)際服 結(jié)果當(dāng)時(shí)沒(méi)掛加速器 直接進(jìn)去的就給鎖在了國(guó)區(qū) 想重新再玩一個(gè)新號(hào) 卸載了重裝根本沒(méi)用 百度了一下說(shuō)只能清空數(shù)據(jù)刷機(jī)才能玩新號(hào) 想知道蘋(píng)果這是什么原理?卸載了還有游戲數(shù)據(jù)?
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:06:02
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
在windows環(huán)境下的mingw32平臺(tái)上編譯ffmpeg源代碼時(shí),執(zhí)行./configure 命令,提示:configure: error: C compiler cannot create executables.查看“cofig.log”文件,里面的error描述如下:
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -ladvapi32
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lshell32
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -luser32
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lkernel32
collect2: ld returned 1 exit status
系統(tǒng)環(huán)境:win7,32bit;MinGW平臺(tái):mingw+msys
出現(xiàn)這種錯(cuò)誤,是mingw平臺(tái)的缺少什么package嗎?缺少什么package呢? 求解, ~\=_=/~
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2014-05-26 18:37:00
比較喜歡看一些網(wǎng)文打發(fā)時(shí)間,之前安卓手機(jī)用搜書(shū)大師比較順手,蘋(píng)果手機(jī)有類似的追書(shū)軟件可用嗎?
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:05:52
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
0. 環(huán)境: Windows8 x64 ; mingw-get version 0.6.2-beta-20131004-1
Mingw 編譯 ffmpeg2.6.1 , sdl1.2.15
Configure 配置如下:
./configure --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib
官網(wǎng) 4 月 10 日的 ffplay configure 配置如下:
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
自己編譯生成的 ffplay 播放視頻只能播放 xinaLuowei1.mkv.
該視頻信息如下:
Input #0, matroska,webm, from 'xinaLuowei1.mkv':
Metadata:
encoder : Haali Matroska Writer b0
Duration: 00:01:06.73, start: 0.000000, bitrate: 8415 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline), yuv420p, 2022x1136, SA
R 1:1 DAR 1011:568, 30 fps, 30 tbr, 20k tbn, 60 tbc (default)
1. 更改封裝后能夠播放( mp4 )
命令如下:
G:\LY_Work\videoPlayer\ffmpegExeTest>ffmpeg20150409.exe -i xinaLuowei1.mkv -vcod
ec copy -acodec copy -y test.mp4
查看 test.mp4 的信息為:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.30.100
Duration: 00:01:06.73, start: 0.000000, bitrate: 8415 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yu
v420p, 2022x1136, 8413 kb/s, 30 fps, 30 tbr, 20k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
2. 裁剪后不能播放:
G:\LY_Work\videoPlayer\ffmpegExeTest>ffmpeg20150409.exe -i xinaLuowei1.mkv -fil
ter:v "crop=720:576:0:0" -y test720x576.mkv
查看 test720x576.mkv 的信息為:
Input #0, matroska,webm, from 'test720x576.mkv':
Metadata:
ENCODER : Lavf56.30.100
Duration: 00:01:06.80, start: 0.067000, bitrate: 706 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p, 720x576 [SAR 1:1 DAR 5:4], 30
fps, 30 tbr, 1k tbn, 60 tbc (default)
Metadata:
LANGUAGE : eng
ENCODER : Lavc56.34.100 libx264
播放未編碼( bgr24 )的視頻和其他格式(其中含有 x264 編碼的視頻 ,configure 時(shí)已經(jīng)包含了 x264 庫(kù))的視頻閃退 .
開(kāi)始懷疑是 configure 時(shí)解碼庫(kù)沒(méi)有包含,但是播放未編碼的視頻和 x264 視頻依然閃退,不知道是什么原因?各位有沒(méi)有遇到類似問(wèn)題,在線討論。
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2015-05-02 15:00:00
上次有個(gè)貼子說(shuō) iPhone 在國(guó)內(nèi)已經(jīng)是 others 了。我去搜了下 IDC 的數(shù)據(jù),說(shuō) 19 年下半年開(kāi)始 iPhone 占有率開(kāi)始回升,達(dá)到 20%左右。不清楚這個(gè)占有率是什么意思,是說(shuō)國(guó)內(nèi)有 20%的智能手機(jī)用戶用 iPhone 嗎?當(dāng)然占有率和銷量都只能反映一部分信息。我在生活中看到很多用舊款 iPhone 的人,他們未必下一部機(jī)子也會(huì)換蘋(píng)果。但說(shuō)蘋(píng)果變成 others 了,好像跟我的認(rèn)知不太符合。三星是真沒(méi)咋看到了,小米年齡稍大一些的人里面用的也特別少。
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:05:43
測(cè)試環(huán)境: iOS 應(yīng)用 網(wǎng)頁(yè)
路徑: iOS - 我的 - 右上角客服 - 在線客服 - 轉(zhuǎn)人工 - 打字開(kāi)始卡頓 網(wǎng)頁(yè) - 右側(cè)客服 - 轉(zhuǎn)人工 - 整個(gè)頁(yè)面卡頓
狀況:
無(wú)論應(yīng)用還是網(wǎng)頁(yè),已經(jīng)影響正常使用。應(yīng)用端鍵入文字后,需要等待數(shù)秒,才可以選擇對(duì)應(yīng)詞組,再次等待才能發(fā)送。
網(wǎng)頁(yè)端,整個(gè)卡頓,連最上方的“嚴(yán)格遵守……”提示都卡頓。然而選擇結(jié)束對(duì)話后(顯示評(píng)分彈窗),瞬間恢復(fù)正常。
觀察:
打開(kāi)客服交流頁(yè)面,會(huì)有一個(gè) POST 請(qǐng)求不停的發(fā)送 https://chat.95516.com/upwcs/echat.do
隨機(jī)選擇了幾個(gè)請(qǐng)求,waiting (TTFB) 最短的 494.61ms, 最長(zhǎng)的 2.25s (2250ms).
會(huì)話結(jié)束時(shí),該請(qǐng)求停止,頁(yè)面恢復(fù)正常。
可穩(wěn)定復(fù)現(xiàn)。
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:05:35
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
@少幫主 你好,想跟你請(qǐng)教個(gè)問(wèn)題:
編譯測(cè)試程序后,發(fā)現(xiàn)使用已經(jīng)編譯好的zbus.dll報(bào)錯(cuò),所以想使用mingw編譯,但是總是不成功。請(qǐng)問(wèn)怎么解決?
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2014-12-30 22:08:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
main.cpp
#include using namespace std; #include "testcpp.h" int main() { int q = AddCpp(1, 2); q++; #if __cplusplus cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!! #endif return 0; }
testcpp.h
#ifndef TESTCPP_H_ #define TESTCPP_H_ int m_ParamCpp; int AddCpp(int a, int b); #endif /* TESTCPP_H_ */
testcpp.cpp
#include "testcpp.h" int AddCpp(int a, int b) { m_ParamCpp++; return a + b; }
eclipse cdt + Mingw gcc編譯的,報(bào)錯(cuò)“Main.cpp: multiple definition of `m_ParamCpp'”和“testcpp.cpp:5: first defined here”,我在testcpp.h中已經(jīng)加了宏定義避免頭文件重復(fù)包含,怎么會(huì)這樣?誰(shuí)能跟我解釋一下?
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2014-11-05 17:29:00
今天菜鳥(niǎo)裹裹 app 出了新的 TestFlight 版本。秉著有測(cè)試版必升級(jí)的理念,更新了一下。發(fā)現(xiàn)還是那么難用。
這并不是重點(diǎn)。
重點(diǎn)是:重慶、長(zhǎng)春、長(zhǎng)沙、長(zhǎng)治這樣的多音字,全部都把輔音 c 視為輔音 z 并放到了 picker 的“z”欄里。
不得不佩服菜鳥(niǎo)裹裹的數(shù)據(jù),難得錯(cuò)的這么離譜。
復(fù)線路徑: 下載 TestFlight 和菜鳥(niǎo)裹裹最新穩(wěn)定版,并在 app 中嘗試最新版 “我的” tab - “版本切換” - “校園版” 回到“首頁(yè)” tab,點(diǎn)擊頂部“請(qǐng)選擇你的學(xué)?!?點(diǎn)擊“選擇學(xué)?!保缓蟆爱?dāng)前所在城市”的“更改” 成功復(fù)現(xiàn)問(wèn)題
截圖:
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:05:11
10 點(diǎn) 59 分開(kāi)始叫車,大概 14 公里。 11 點(diǎn) 02 叫到車,司機(jī)師傅表示車子沒(méi)電,來(lái)不了喊我取消,我表示不會(huì)主動(dòng)取消,要取消自己取消??吹貓D他還是來(lái)了,期間 app 內(nèi)聊天問(wèn)他還來(lái)不來(lái),未讀 11 點(diǎn) 20 司機(jī)默默到了,我上車 11 點(diǎn) 20 分司機(jī)表示目的地堵車需要微信轉(zhuǎn)賬加 15,我說(shuō)只能接受加 5 元,司機(jī)不同意 11 點(diǎn) 22 分我被迫下車,賬單是全程的車費(fèi)大概 30 。 11 點(diǎn) 23 開(kāi)始在路邊聯(lián)系人工客服,一直無(wú)法接通人工,平臺(tái)么有任何回應(yīng)。賬單一直等待我支付。
人工客服永遠(yuǎn)接不通,體驗(yàn)太差勁,不能自助申訴,這個(gè)平臺(tái)以后不會(huì)再用了……各位老哥注意避坑
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:04:57
有些外賣(mài)店設(shè)置大額的滿減活動(dòng),但是里面一個(gè)參加滿減的商品都沒(méi)有,用戶特意篩選的要參加滿減的商家結(jié)果打開(kāi)一看,商家設(shè)置的有滿減,但是沒(méi)有一個(gè)商品參加滿減 感覺(jué)吃了一口 X,太惡心了。而且這樣的商家還越來(lái)越多 餓了么和美團(tuán)外賣(mài)的小哥哥們就不能修改成店鋪里面商品不存在滿足滿減條件商品就不展現(xiàn)滿減標(biāo)識(shí)嗎
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:04:52
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
除了在 Mac 系統(tǒng)上使用 Objective-C,你還可以在 Windows 上下載并安裝 GNUstep 和 Objective-C 環(huán)境,接下來(lái)我們就介紹詳細(xì)的安裝和使用的步驟。
下載 GNUstep
GNUstep 環(huán)境可通過(guò) Windows 下的 MinGW 工具來(lái)使用,MinGW 是 GNU 編譯工具在 Windows 下的移植版本。安裝 GNUstep 包括安裝 MinGW 和 GNUstep,這兩者都可以通過(guò)這里下載: http://www.gnustep.org/experience/Windows.html .
MinGW 包含 GNUstep System 和 GNUstep Core,必須先安裝這二者。
安裝 MinGW 和 GNUstep
上面所需的包下載完后,就可以開(kāi)始安裝,圖形化的安裝向?qū)Ы缑?,我們將安裝目錄指定為 C:\GNUstep
一旦 MinGW 安裝完畢,即可安裝 GNUstep Core 包
運(yùn)行 GNUstep Shell
想開(kāi)始使用 Objective-C 和 GNUstep, 需要啟動(dòng) GNUstep shell ,從開(kāi)始菜單中的 GNUstep 中運(yùn)行 Shell,如下圖所示:
安裝完的測(cè)試
該 Shell 環(huán)境是一個(gè)最小化版本的 Linux 或 Unix 環(huán)境,如果你對(duì)此不熟悉,不怕,你也可以使用 Windows 下你熟悉的編輯器。
當(dāng)該 Shell 第一次啟動(dòng)時(shí),將會(huì)進(jìn)入默認(rèn)的主目錄:
C:\GNUstep\home\
其中 是你登錄 Windows 系統(tǒng)的用戶名。輸入下面代碼來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用: #import int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"hello world"); [pool drain]; return 0; }
將以上代碼保存在主目錄下的 hello.m 文件,你可以使用任意編輯器來(lái)編輯該文件。
接下來(lái)使用下面命令進(jìn)行編譯: $ gcc `gnustep-config --objc-flags` -L /GNUstep/System/Library/Libraries hello.m -o hello -lgnustep-base -lobjc
如果編譯成功的話,可以使用如下命令執(zhí)行程序: ./hello.exe
該程序輸出信息如下: 2009-09-24 14:31:25.721 hello[2200] hello world
本文譯自: techotopia
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2011-11-23 22:45:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> Eclipse有開(kāi)發(fā)C和C++的版本,安裝MinGW配置后可以在Windows中開(kāi)發(fā)C/C++。能不能配置下開(kāi)發(fā)ObjectC ?GNUStep+Eclipse能否實(shí)現(xiàn)?
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2014-04-12 17:15:00
我還以為是我網(wǎng)絡(luò)問(wèn)題,js 沒(méi)加載出來(lái)
最后開(kāi)著控制臺(tái)看到所有 js 加載完后還是不能點(diǎn)擊
印象筆記,就這?就這么對(duì)用戶?
"親愛(ài)的用戶,我是你爹"
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:04:28
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
我現(xiàn)在想在HBuilder上面做一個(gè)app軟件
可以和Drupal的網(wǎng)頁(yè)(數(shù)據(jù)庫(kù))進(jìn)行數(shù)據(jù)的交互
我的想法:是通過(guò)URL對(duì)頁(yè)面進(jìn)行請(qǐng)求(ajax),然后由頁(yè)面和后臺(tái)做出反應(yīng)
返回一個(gè)json給app,不知道其中需要怎么做
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2017-02-17 10:44:00
我覺(jué)得與其問(wèn)給力與否(http://v2ex.com/t/43140#reply6),不如問(wèn)問(wèn)這個(gè),沒(méi)準(zhǔn)能吸引有趣的答案。我的是我家鄉(xiāng)的機(jī)場(chǎng):KWL.因?yàn)閺V播噪音大,所有登機(jī)口都能聽(tīng)到別的登機(jī)口的廣播。
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:04:08
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
下面是我寫(xiě)的mysql存儲(chǔ)過(guò)程,之前使用程序?qū)懰俣扔悬c(diǎn)慢,現(xiàn)在改寫(xiě)但遇到點(diǎn)問(wèn)題,希望幫忙給啊,感謝指點(diǎn)
BEGIN /** 進(jìn)退貨統(tǒng)計(jì)表 參數(shù):(都是字符串) 時(shí)間 如:2013-01-01 分部 如:1,2,3,4 供應(yīng)商 如:2,3'4,2 商品編碼或名稱 如:SF22202 */ DECLARE ItemNO VARCHAR(50); DECLARE startDa VARCHAR(15); DECLARE endDa VARCHAR(15); -- 不存在則創(chuàng)建臨時(shí)表 CREATE TEMPORARY TABLE if not exists reportAdvanceReurn ( branchId VARCHAR(50) NOT NULL,-- 訂貨分部id supplierId VARCHAR(50) NOT NULL,-- 供應(yīng)商id itemNo VARCHAR(20) NOT NULL, -- 商品編碼 itemName VARCHAR(50) NULL,-- 商品名稱 AdvanceAmount DECIMAL(18,4) NULL, -- 進(jìn)貨量 AdvancePrice DECIMAL(18,4) NULL, -- 進(jìn)貨單價(jià) ReturnAmount DECIMAL(18,4) NULL, -- 退貨量 ReturnPrice DECIMAL(18,4) NULL, -- 退貨單價(jià) unitName VARCHAR(10) null,-- 單位名稱 total DECIMAL(18,4) null, -- 小計(jì) UNIQUE KEY (branchId,supplierId,itemNo) ); -- 臨時(shí)存儲(chǔ)數(shù)量表 不存在則創(chuàng)建臨時(shí)表 CREATE TEMPORARY TABLE if not exists reportAdvanceReurnAmount ( branchId VARCHAR(50) NOT NULL,-- 訂貨分部id supplierId VARCHAR(50) NOT NULL,-- 供應(yīng)商id itemNo VARCHAR(20) NOT NULL, -- 商品編碼 amount DECIMAL(18,4) NULL -- 量 ); TRUNCATE TABLE reportAdvanceReurn; -- 使用前先清空臨時(shí)表 -- 設(shè)置模糊查詢的值 IF(itemNo IS NOT NULL ) THEN SET ItemNO ='%'+p_itemNo+ '%'; end if; -- 進(jìn)貨信息 SELECT branch.`NAME` AS '訂貨分部',supplier.SUPPLY_NAME AS '供應(yīng)商名稱', item.ITEM_NO AS '商品編碼', item.ITEM_NAME AS '商品名稱',bdun.`NAME` AS '單位',SUM(qcyitem.PRICE)/SUM(qcyitem.AMOUNT) AS '單價(jià)',SUM(qcyitem.AMOUNT) '驗(yàn)收量', (SUM(qcyitem.PRICE)/SUM(qcyitem.AMOUNT))*SUM(qcyitem.AMOUNT) AS '小計(jì)' FROM qcy_purchase_info_item AS item LEFT JOIN qcy_purchase_info AS qinfo ON item.HEADER_ID = qinfo.ID LEFT JOIN bd_supplier AS supplier ON supplier.ID = qinfo.SUPPLIER_ID LEFT JOIN bd_branch AS branch ON branch.ID = item.REQUEST_BRANCH_ID LEFT JOIN sys_user AS su ON su.ID = qinfo.MODIFIER LEFT JOIN bd_unit AS bdun ON bdun.ID = item.UNIT LEFT JOIN qcy_acceptence_info AS qcyinfo ON qcyinfo.SOURCES_NO=qinfo.`NO` LEFT JOIN qcy_acceptence_info_item AS qcyitem ON qcyitem.HEADER_ID=qcyinfo.ID AND qcyitem.ITEM_NO=item.ITEM_NO where item.AMOUNT>0 AND qinfo.PURCHASE_DATE >= startDate AND qinfo.PURCHASE_DATE <= endDate AND qcyinfo.REQUEST_BRANCH_ID IN (branchIdList) AND qcyinfo.SUPPLY_UNITS_ID in(supplierList) AND item.ITEM_NO LIKE ItemNO OR item.ITEM_NAME LIKE ItemNO GROUP BY branch.ID,supplier.ID ,item.ITEM_NO ORDER BY branch.ID,supplier.ID,item.ITEM_NO; TRUNCATE TABLE reportAdvanceReurnAmount; -- 使用前先清空臨時(shí)表 END 其中下面這部分是根據(jù)參數(shù)是否存在才加的限制條件,這里如果不傳參數(shù)是不是會(huì)有問(wèn)題????如果有問(wèn)題應(yīng)該如何做????知道的希望指點(diǎn)一下啊
where item.AMOUNT>0 AND qinfo.PURCHASE_DATE >= startDate AND qinfo.PURCHASE_DATE <= endDate AND qcyinfo.REQUEST_BRANCH_ID IN (branchIdList) AND qcyinfo.SUPPLY_UNITS_ID in(supplierList) AND item.ITEM_NO LIKE ItemNO OR item.ITEM_NAME LIKE ItemNO
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2013-04-10 12:39:00
??松屠羁伞?duì)手談不上強(qiáng),但也沒(méi)以前那么弱了。 希望國(guó)家隊(duì)能面目一新!
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:03:56
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
大佬們,請(qǐng)問(wèn)在使用ireport制作報(bào)表時(shí),怎么遍歷輸出有兩層list的返回?cái)?shù)據(jù)中子list的值
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2020-03-28 17:16:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
誰(shuí)用過(guò)ireport3.0.0版本的?。恳?yàn)槭仲v把窗口關(guān)閉,找不到打開(kāi)的地方了.....現(xiàn)在成這樣了,想換高版本的,但是以前的老系統(tǒng)又不兼容高版本生成的jasper...誰(shuí)遇到過(guò)嗎?
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2017-05-10 23:10:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> | 部門(mén)名稱 | 姓名 | |-----------|---------| | 市場(chǎng)部 | xxi | | |--------.| | | xxi | | |---------| | | xxi | |---------------------| 但 要實(shí)現(xiàn)的效果是: _____________________ | 部門(mén)名稱 | 姓名 | |-----------|---------| | | xxi | | |--------.| | 市場(chǎng)部 | xxi | | |---------| | | xxi | |---------------------| 目前還沒(méi)實(shí)現(xiàn),希望知道的 大俠,給點(diǎn)意見(jiàn),改如何設(shè)置 或 如何設(shè)計(jì)
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2015-03-12 09:55:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 我做了ireport模板,但是detail部分和lastPageFooter總是有大片空白,網(wǎng)上百度說(shuō),將模板設(shè)置為“忽略分頁(yè)”,即可解決問(wèn)題,我嘗試后,果然解決了空白問(wèn)題,但是,因?yàn)閐etail字段里要展示的數(shù)據(jù)量非常大,導(dǎo)致原來(lái)分頁(yè)5頁(yè)的數(shù)據(jù)都集中到了一頁(yè),當(dāng)點(diǎn)擊打印的時(shí)候,無(wú)法將全部數(shù)據(jù)打印出來(lái),哪位大神處理過(guò)類似問(wèn)題,求解答
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2015-08-24 16:32:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
初接觸ireport,用的5.6.0版本
我要對(duì)一些項(xiàng)目進(jìn)行合并,合并前如下圖
圖1
左邊是科室,右邊是項(xiàng)目,要根據(jù)科室合并,合并后實(shí)現(xiàn)如下效
圖2
圖1是我java傳參得到的,代碼如下
· 圖3
圖2 是我在ireport中直接寫(xiě)sql語(yǔ)句得到的
圖4
請(qǐng)問(wèn),如何通過(guò)圖3的方式,即java代碼傳參實(shí)現(xiàn)圖2的效果?如能幫助不勝感激
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2019-12-11 09:16:00
正在考慮入一個(gè) LAMY 2000 都說(shuō)是水槍,來(lái)問(wèn)下,有大佬正在用的嗎?和 Sailor 1911 相比怎樣啊?
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:03:12
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
使用IReport開(kāi)發(fā)報(bào)表,現(xiàn)遇到問(wèn)題啦??!
獲取的數(shù)據(jù)如下,客戶要求如下格式,想讓數(shù)值大的顯示為紅色,不知道如何搞啊?。。∠M赖闹笇?dǎo)一下,感謝????
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2013-06-06 13:55:00
自己使用,之前使用中性筆感覺(jué)沒(méi)有之前用鋼筆時(shí)候的美感,特來(lái)求一支lamy safari感覺(jué)下。
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:02:45
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
使用Ireport制作的模板,想在某個(gè)值為空的時(shí)候刪除整行,下面的行自動(dòng)調(diào)整位置。
困擾了很久,麻煩大神們,指導(dǎo)一下。怎么解決這個(gè)問(wèn)題
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2017-09-15 09:18:00
今天去了方所書(shū)店居然發(fā)現(xiàn)那里有個(gè)柜臺(tái)放的鋼筆是LAMY,不過(guò)好貴啊,Safari就要300多。。。我還是網(wǎng)購(gòu)好了,貌似亞馬遜就有賣(mài),木有網(wǎng)銀只能找貨到付款的。
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:02:33
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>>
公司的支付系統(tǒng)后臺(tái)一直用birt報(bào)表生成統(tǒng)計(jì)報(bào)表,近日感覺(jué)birt對(duì)內(nèi)存的利用很不好,速度很慢,且容易耗盡內(nèi)存;所以看了下其他工具,網(wǎng)上有很多人推薦jasperReorts+ireport開(kāi)發(fā),可是發(fā)現(xiàn)ireport可視化操作很難實(shí)現(xiàn)復(fù)雜的“中國(guó)式報(bào)表”,復(fù)雜的表頭設(shè)計(jì)太難了,弄個(gè)合并單元格都很麻煩;網(wǎng)上的工具種類太多,看了一天實(shí)在無(wú)精力一個(gè)個(gè)去嘗試開(kāi)發(fā),因此想請(qǐng)教各位牛人,有沒(méi)有用過(guò)適合的軟件可以推薦,以下是目前條件的限制:
1、免費(fèi),開(kāi)源更佳;
2、能適應(yīng)復(fù)雜表頭的設(shè)計(jì),樣式設(shè)計(jì)盡可能簡(jiǎn)單,比如excel開(kāi)發(fā)、所見(jiàn)即所得的網(wǎng)格式、兼容比較好的拖拽式…
3、最好輕量點(diǎn),方便集成到web環(huán)境;
4、能支持基本的會(huì)計(jì)報(bào)表樣式,及基本的導(dǎo)出格式支持;
總之birt除了性能不好外其他都很好,唉,請(qǐng)教有經(jīng)驗(yàn)的同仁推薦!感謝閱讀討論
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2015-01-06 18:04:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 有份報(bào)表,主表是豎屏的,子表要是橫屏的,求解高手
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2016-11-25 17:05:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 就是做成枚舉類型的參數(shù),在下拉框里面將這個(gè)參數(shù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)中的那一列內(nèi)容呈現(xiàn)給用戶,然后可以讓用戶選擇這個(gè)參數(shù)可以輸入哪些值,直接點(diǎn)擊就好,跪謝大神, 必須要在代碼層實(shí)現(xiàn)嗎?可以不編寫(xiě)代碼嗎?,本人java瞎
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2016-11-04 13:41:00
拼夕夕佩奇數(shù)碼專營(yíng)店的蘋(píng)果原裝擴(kuò)展塢是正品嗎,有沒(méi)有人上車并驗(yàn)過(guò)貨。
來(lái)源:V2EX
發(fā)布時(shí)間:2020-08-27 16:01:53
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> avax.servlet.ServletException: Servlet execution threw an exception
root causejava.lang.ExceptionInInitializerError net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:124) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:89) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:104) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:62) net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179) net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108) net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668) net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:984) com.desuntech.action.XCWTServlet.xcwtdPrint(XCWTServlet.java:290) com.desuntech.action.XCWTServlet.doPost(XCWTServlet.java:87) javax.servlet.http.HttpServlet.service(HttpServlet.java:643) javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root causenet.sf.jasperreports.engine.JRRuntimeException: java.awt.FontFormatException: java.nio.BufferUnderflowException net.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:178) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFace(SimpleFontExtensionHelper.java:357) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:290) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:254) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:215) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:184) net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:56) net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110) net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:83) net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:124) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:89) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:104) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:62) net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179) net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108) net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668) net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:984) com.desuntech.action.XCWTServlet.xcwtdPrint(XCWTServlet.java:290) com.desuntech.action.XCWTServlet.doPost(XCWTServlet.java:87) javax.servlet.http.HttpServlet.service(HttpServlet.java:643) javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root causejava.awt.FontFormatException: java.nio.BufferUnderflowException sun.font.TrueTypeFont.init(TrueTypeFont.java:523) sun.font.TrueTypeFont.(TrueTypeFont.java:162) sun.font.FontManager.createFont2D(FontManager.java:2255) java.awt.Font.(Font.java:570) java.awt.Font.createFont(Font.java:896) net.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:174) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFace(SimpleFontExtensionHelper.java:357) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:290) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamilies(SimpleFontExtensionHelper.java:254) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:215) net.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontFamilies(SimpleFontExtensionHelper.java:184) net.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:56) net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:110) net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:83) net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:124) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:89) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:104) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:62) net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179) net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108) net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668) net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:984) com.desuntech.action.XCWTServlet.xcwtdPrint(XCWTServlet.java:290) com.desuntech.action.XCWTServlet.doPost(XCWTServlet.java:87) javax.servlet.http.HttpServlet.service(HttpServlet.java:643) javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.44 logs.
javax.servlet.ServletException: Servlet execution threw an exception
root causejava.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:124) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:89) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:104) net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:62) net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179) net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108) net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668) net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:984) com.desuntech.action.XCWTServlet.xcwtdPrint(XCWTServlet.java:290) com.desuntech.action.XCWTServlet.doPost(XCWTServlet.java:87) javax.servlet.http.HttpServlet.service(HttpServlet.java:643) javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2016-10-20 13:56:00
HDC調(diào)試需求開(kāi)發(fā)(15萬(wàn)預(yù)算),能者速來(lái)!>>> 背景:我在某汽車制造企業(yè)工作,前幾年在質(zhì)量部門(mén)工作用自己的框架開(kāi)發(fā)了幾個(gè)管理信息系統(tǒng),隨著工作時(shí)間的增長(zhǎng)這個(gè)開(kāi)發(fā)平臺(tái)性框架也逐漸成熟,后來(lái)被整合到IT部門(mén)因?yàn)橛行碌目蚣懿辉试S再用自己的框架,原來(lái)開(kāi)發(fā)的系統(tǒng)也趨于穩(wěn)定,這個(gè)平臺(tái)框架眼看就要廢棄了。因?yàn)楣ぷ魇陙?lái)一直在制造業(yè)工作,希望能造出一個(gè)快速開(kāi)發(fā)制造業(yè)管理信息系統(tǒng)的平臺(tái)性框架,現(xiàn)在不能應(yīng)用這個(gè)平臺(tái)了有些心灰意冷,但敝帚自珍啊,不開(kāi)源豈不是龜玉毀于櫝中?這個(gè)平臺(tái)采用的開(kāi)發(fā)技術(shù)為ZK+Nutz+MySQL+iReport。內(nèi)置了權(quán)限、流程、圖表管理功能,可以實(shí)現(xiàn)不編程構(gòu)建簡(jiǎn)單的系統(tǒng)模型。 問(wèn)題:我是否需要把這個(gè)平臺(tái)開(kāi)源?開(kāi)源能否找到知音?在不編程構(gòu)建管理軟件或者說(shuō)面向非程序員建系統(tǒng)這個(gè)方向是否有需求?ZK作為前端是否太冷門(mén),使大多數(shù)程序員卻步? 不是這個(gè)平臺(tái)多牛B,實(shí)在是覺(jué)得簡(jiǎn)單實(shí)用。想聽(tīng)聽(tīng)大家的意見(jiàn)!
來(lái)源:開(kāi)源中國(guó)
發(fā)布時(shí)間:2016-04-15 11:05:00