Merge branch 'zxk' of jd/itk into master

合并bypass
main
zouxk 5 years ago
commit 6fdf3ad45e

@ -129,7 +129,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;IPLIB=none;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\work\include12_2;C:\work\include_cpp12_2;C:\Java\jdk1.8.0_231\include\win32;C:\Java\jdk1.8.0_231\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>C:\work\include12_1;C:\work\include_cpp12_1;C:\Java\jdk1.8.0_231\include\win32;C:\Java\jdk1.8.0_231\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CallingConvention>Cdecl</CallingConvention>
</ClCompile>
<Link>
@ -139,7 +139,7 @@
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<AdditionalDependencies>C:\work\lib12_2\*.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>C:\work\lib12_1\*.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OutputFile>$(OutDir)\bs.dll</OutputFile>
<AdditionalOptions>/FORCE %(AdditionalOptions)</AdditionalOptions>

@ -44,6 +44,7 @@ int bs_wl_check(EPM_rule_message_t msg);
int bs_bom_save_check(METHOD_message_t *msg, va_list args);
int bs_sign_cad(EPM_action_message_t msg);
int jd_signoff(EPM_action_message_t msg);
int bs_bypass(void *retValType);
////将流程信息签入版本属性上去
//int qtmc_sign_ir(EPM_action_message_t msg);

@ -159,6 +159,20 @@ extern DLLAPI int USERSERVICE_custom_register_methods()
printf("register bomwindow_save failed\n");
}
int numberOfArguments = 1,
returnValueType = USERARG_STRING_TYPE,
*argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int));
argumentList[0] = USERARG_LOGICAL_TYPE;;
USER_function_t functionPtr;
functionPtr = bs_bypass;
status = USERSERVICE_register_method("bs_bypass", functionPtr, numberOfArguments, argumentList, returnValueType);
if (status == ITK_ok) {
printf("register bs_bypass success\n");
} else {
printf("register bs_bypass failed\n");
}
}
return 0;

@ -105,7 +105,7 @@
#define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)
#endif
#define LOCALJARPATH "D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\"
#define LOCALJARPATH "D:\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\"
#define REMOTEJARPATH "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\"
//#include <iostream>
@ -198,23 +198,25 @@ extern "C" {
-path
-name
-step : 4950515253
*/
static int sign(JNIEnv* env, jclass class_Test, const char* path, char* name, int step) {
static int sign(JNIEnv* env, jclass class_Test, const char* path, char* name, char* sign_location, char* sign_str) {
printf("signin\n");
jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;I)I");
jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I");
if (methodId_main == NULL) {
printf("error\n");
printf("error, check jar location\n");
return 0;
}
string path1 = GBKToUTF8(path);
string name1 = GBKToUTF8(name);
string sign_location1 = GBKToUTF8(sign_location);
string sign_str1 = GBKToUTF8(sign_str);
jstring jpath = env->NewStringUTF(path1.c_str());
jstring jname = env->NewStringUTF(name1.c_str());
jint jstep = (jint)step;
printf("path:%s,name%s,step%d\n", path1.c_str(), name1.c_str(), step);
jstring jsign_location = env->NewStringUTF(sign_location1.c_str());
jstring jsign_str = env->NewStringUTF(sign_str1.c_str());
printf("path:%s\nname:%s\nsign_location:%s\nsign_str:%s\n", path1.c_str(), name1.c_str(), sign_location1.c_str(), sign_str1.c_str());
jint result = 0;
result = env->CallStaticIntMethod(class_Test, methodId_main, jpath, jname, jstep);
result = env->CallStaticIntMethod(class_Test, methodId_main, jpath, jname, jsign_location, jsign_str);
int res = result;
printf("result:%d\n", res);
printf("signout\n");
@ -239,9 +241,11 @@ extern "C" {
int JD_clear(METHOD_message_t* msg, va_list args, tag_t new_rev) {
printf("升版执行\n");
//获取数据集
char *temp_path, *attach_type;
int n_attachs;
const char *sign_location1, *sign_str;
char *temp_path, *attach_type,*prop,**pref_values1;
int n_attachs, pref_count1;
tag_t ref_obj, excelx_tag, excel_tag, wordx_tag, word_tag, type_tag, word_ref, excel_ref, *dataset;
stringstream sign_date;
ITEM_attached_object_t *rev_attachments;
AE_reference_type_t ae_ref;
TCTYPE_find_type("MSExcelX", "Dataset", &excelx_tag);
@ -348,19 +352,27 @@ extern "C" {
ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_master_form_rev", &objects_count, &objects));
PREF_ask_char_values("jd2_signoff_list", &pref_count1, &pref_values1);
stringstream temps;
for (int i = 0;i < pref_count1;i++) {
temps << pref_values1[i];
temps << ",";
}
//表单签名
for (auto iii = 0; iii < objects_count; iii++) {
AOM_lock(objects[iii]);
AOM_set_value_string(objects[iii], "jd2_bz", "");
AOM_set_value_string(objects[iii], "jd2_bzrq", "");
AOM_set_value_string(objects[iii], "jd2_jd", "");
AOM_set_value_string(objects[iii], "jd2_jdrq", "");
AOM_set_value_string(objects[iii], "jd2_sh", "");
AOM_set_value_string(objects[iii], "jd2_shrq", "");
AOM_set_value_string(objects[iii], "jd2_hq", "");
AOM_set_value_string(objects[iii], "jd2_hqrq", "");
AOM_set_value_string(objects[iii], "jd2_pz", "");
AOM_set_value_string(objects[iii], "jd2_pzrq", "");
for (int i = 0;i < pref_count1;i++) {
sign_date.str("");
sign_date << pref_values1[i];
sign_date << "rq";
AOM_ask_value_string(objects[iii], pref_values1[i], &prop);
if (tc_strlen(prop) != 0) {
AOM_set_value_string(objects[iii], pref_values1[i], "");
AOM_set_value_string(objects[iii], sign_date.str().c_str(), "");
}
}
printf("sign clear\n");
ITKCALL(AOM_save(objects[iii]));
AOM_unlock(objects[iii]);
}
@ -398,13 +410,13 @@ extern "C" {
printf("file_type:%d\n", file_type);
if (file_type == 0) {
class_Test = env->FindClass("sign2file/SignToWord");
int res = sign(env, class_Test, ss.str().c_str(), "", 54);
int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word");
}
} else if (file_type == 1) {
class_Test = env->FindClass("sign2file/SignToExcel");
int res = sign(env, class_Test, ss.str().c_str(), "", 54);
int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel");
}
@ -442,13 +454,13 @@ extern "C" {
printf("file_type:%d\n", file_type);
if (file_type == 0) {
class_Test = env->FindClass("sign2file/SignToWord");
int res = sign(env, class_Test, ss.str().c_str(), "", 54);
int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word");
}
} else if (file_type == 1) {
class_Test = env->FindClass("sign2file/SignToExcel");
int res = sign(env, class_Test, ss.str().c_str(), "", 54);
int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel");
}

@ -62,6 +62,8 @@
#include <string>
#define MAX_PATH_LEN 256
#define GUID_LEN 64
#ifdef WIN32
#define ACCESS(fileName,accessMode) _access(fileName,accessMode)
#define MKDIR(path) _mkdir(path)
@ -70,7 +72,7 @@
#define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)
#endif
#define LOCALJARPATH "D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\"
#define LOCALJARPATH "D:\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\"
#define REMOTEJARPATH "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\"
using namespace std;
@ -96,6 +98,7 @@ int32_t createDirectory(const std::string &directoryPath) {
return 0;
}
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
const char *new_file_path, char *ref_name) {
IMF_file_data_p_t file_data;
@ -159,23 +162,25 @@ string GBKToUTF8(const char* strGBK)
-path
-name
-step : 4950515253
*/
static int sign(JNIEnv* env, jclass class_Test,const char* path, char* name, int step) {
static int sign(JNIEnv* env, jclass class_Test,const char* path, char* name, char* sign_location, char* sign_str) {
printf("signin\n");
jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;I)I");
jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I");
if (methodId_main==NULL) {
printf("error\n");
printf("error, check jar location\n");
return 0;
}
string path1 = GBKToUTF8(path);
string name1 = GBKToUTF8(name);
string sign_location1= GBKToUTF8(sign_location);
string sign_str1 = GBKToUTF8(sign_str);
jstring jpath = env->NewStringUTF(path1.c_str());
jstring jname = env->NewStringUTF(name1.c_str());
jint jstep = (jint)step;
printf("path:%s,name%s,step%d\n", path1.c_str(), name1.c_str(),step);
jstring jsign_location = env->NewStringUTF(sign_location1.c_str());
jstring jsign_str = env->NewStringUTF(sign_str1.c_str());
printf("path:%s\nname:%s\nsign_location:%s\nsign_str:%s\n", path1.c_str(), name1.c_str(), sign_location1.c_str(),sign_str1.c_str());
jint result = 0;
result = env->CallStaticIntMethod(class_Test, methodId_main, jpath, jname, jstep);
result = env->CallStaticIntMethod(class_Test, methodId_main, jpath, jname, jsign_location, jsign_str);
int res = result;
printf("result:%d\n", res);
printf("signout\n");
@ -201,23 +206,39 @@ void add_path(JNIEnv* env, const std::string& path)
//吉德表单签名
int jd_signoff(EPM_action_message_t msg) {
const char bz = '1', jd = '2', sh = '3', hq = '4', pz = '5', bz_back = '0', clear='6';
const char *sign_location, *sign_str;
int ifail = ITK_ok, att_count, objects_count, step;
int ifail = ITK_ok, att_count, objects_count,pref_count;
tag_t rootTask, *attachments, user_tag, *objects;
char *user_name;
char *user_name,**pref_values, *prop;
logical verdict;
bool flag;
stringstream sign_date;
//获取时间
time_t t;
time(&t);
tm* time = localtime(&t);
stringstream date;
date << time->tm_year + 1900 << "-";
date << time->tm_mon + 1 << "-";
date << time->tm_mday << "-";
date << time->tm_hour << "-";
date << time->tm_min << "-";
date << time->tm_sec;
date << time->tm_year + 1900 << ".";
date << time->tm_mon + 1 << ".";
date << time->tm_mday ;
//获取guid
//获取guid
char buffer[GUID_LEN] = { 0 };
GUID guid;
if (CoCreateGuid(&guid)) {
fprintf(stderr, "create guid error\n");
return NULL;
}
_snprintf(buffer, sizeof(buffer),
"%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X",
guid.Data1, guid.Data2, guid.Data3,
guid.Data4[0], guid.Data4[1], guid.Data4[2],
guid.Data4[3], guid.Data4[4], guid.Data4[5],
guid.Data4[6], guid.Data4[7]);
printf("guid: %s\n", buffer);
//获取数据集
@ -252,7 +273,30 @@ int jd_signoff(EPM_action_message_t msg) {
ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val);
paras[temp_key] = temp_val;
}
step = paras["step"].c_str()[0];
sign_location = paras["sign_location"].c_str();
printf("sign_location:%s\n", sign_location);
sign_date << sign_location;
sign_date << "rq";
//读取首选项
PREF_ask_char_values("jd2_signoff_list", &pref_count, &pref_values);
flag = false;
stringstream temps;
for (int i = 0;i < pref_count;i++) {
printf("signoff:%s\n", pref_values[i]);
temps << pref_values[i];
temps << ",";
if (strcmp(pref_values[i], sign_location)==0) {
flag = true;
}
}
if (strcmp("clear", sign_location)==0) {
flag = true;
}
if (!flag) {
return -1;
}
//创建tc_export目录
stringstream dir;
@ -365,7 +409,6 @@ int jd_signoff(EPM_action_message_t msg) {
jclass class_Test;
int file_type = -1;
printf("step:%d\n", step);
printf("user_name:%s\n", user_name);
printf("date:%s\n", date.str().c_str());
@ -374,50 +417,25 @@ int jd_signoff(EPM_action_message_t msg) {
ITKCALL(AOM_ask_value_tags(attachments[ii], "IMAN_master_form_rev", &objects_count, &objects));
//表单签名
for (auto iii = 0; iii < objects_count; iii++) {
printf("step:%c\n",step);
AOM_lock(objects[iii]);
switch (step) {
case bz:
AOM_set_value_string(objects[iii], "jd2_bz", user_name);
AOM_set_value_string(objects[iii], "jd2_bzrq", date.str().c_str());
printf("bz signoff\n");
break;
case jd:
AOM_set_value_string(objects[iii], "jd2_jd", user_name);
AOM_set_value_string(objects[iii], "jd2_jdrq", date.str().c_str());
printf("jd signoff\n");
break;
case sh:
AOM_set_value_string(objects[iii], "jd2_sh", user_name);
AOM_set_value_string(objects[iii], "jd2_shrq", date.str().c_str());
printf("sh signoff\n");
break;
case hq:
AOM_set_value_string(objects[iii], "jd2_hq", user_name);
AOM_set_value_string(objects[iii], "jd2_hqrq", date.str().c_str());
printf("hq signoff\n");
break;
case pz:
AOM_set_value_string(objects[iii], "jd2_pz", user_name);
AOM_set_value_string(objects[iii], "jd2_pzrq", date.str().c_str());
printf("pz signoff\n");
break;
case clear:
AOM_set_value_string(objects[iii], "jd2_bz", "");
AOM_set_value_string(objects[iii], "jd2_bzrq", "");
printf("clear signoff\n");
case bz_back:
AOM_set_value_string(objects[iii], "jd2_jd", "");
AOM_set_value_string(objects[iii], "jd2_jdrq", "");
AOM_set_value_string(objects[iii], "jd2_sh", "");
AOM_set_value_string(objects[iii], "jd2_shrq", "");
AOM_set_value_string(objects[iii], "jd2_hq", "");
AOM_set_value_string(objects[iii], "jd2_hqrq", "");
AOM_set_value_string(objects[iii], "jd2_pz", "");
AOM_set_value_string(objects[iii], "jd2_pzrq", "");
printf("bz_back signoff\n");
break;
if (strcmp("clear",sign_location)==0) {
for (int i = 0;i < pref_count;i++) {
sign_date.str("");
sign_date << pref_values[i];
sign_date << "rq";
AOM_ask_value_string(attachments[ii], pref_values[i], &prop);
if (tc_strlen(prop)!=0) {
AOM_set_value_string(objects[iii], pref_values[i], "");
AOM_set_value_string(objects[iii], sign_date.str().c_str(), "");
}
}
printf("sign clear\n");
} else {
AOM_set_value_string(objects[iii], sign_location, user_name);
AOM_set_value_string(objects[iii], sign_date.str().c_str(), date.str().c_str());
printf("%s,%s signoff\n", sign_location, sign_date.str().c_str());
}
ITKCALL(AOM_save(objects[iii]));
AOM_unlock(objects[iii]);
}
@ -434,7 +452,7 @@ int jd_signoff(EPM_action_message_t msg) {
ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref));
char *file_name;
ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name));
ss << date.str().c_str();
ss << buffer;
ss << "_";
ss << file_name;
printf("path:%s\n", ss.str().c_str());
@ -444,7 +462,7 @@ int jd_signoff(EPM_action_message_t msg) {
ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref));
char *file_name;
ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name));
ss << date.str().c_str();
ss << buffer;
ss << "_";
ss << file_name;
printf("path:%s\n", ss.str().c_str());
@ -455,13 +473,13 @@ int jd_signoff(EPM_action_message_t msg) {
printf("file_type:%d\n", file_type);
if (file_type == 0) {
class_Test = env->FindClass("sign2file/SignToWord");
int res = sign(env, class_Test, ss.str().c_str(), user_name, step);
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word");
}
} else if (file_type == 1) {
class_Test = env->FindClass("sign2file/SignToExcel");
int res = sign(env, class_Test, ss.str().c_str(), user_name, step);
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel");
}
@ -478,7 +496,7 @@ int jd_signoff(EPM_action_message_t msg) {
ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref));
char *file_name;
ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name));
ss << date.str().c_str();
ss << buffer;
ss << "_";
ss << file_name;
printf("path:%s\n", ss.str().c_str());
@ -488,7 +506,7 @@ int jd_signoff(EPM_action_message_t msg) {
ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref));
char *file_name;
ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name));
ss << date.str().c_str();
ss << buffer;
ss << "_";
ss << file_name;
printf("path:%s\n", ss.str().c_str());
@ -499,13 +517,13 @@ int jd_signoff(EPM_action_message_t msg) {
printf("file_type:%d\n", file_type);
if (file_type == 0) {
class_Test = env->FindClass("sign2file/SignToWord");
int res = sign(env, class_Test, ss.str().c_str(), user_name, step);
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word");
}
} else if (file_type == 1) {
class_Test = env->FindClass("sign2file/SignToExcel");
int res = sign(env, class_Test, ss.str().c_str(), user_name, step);
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel");
}

@ -1,118 +1,20 @@
 bs_bom_check.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_bom_check.cpp”: No such file or directory
bs_bom_save_check.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_bom_save_check.cpp”: No such file or directory
bs_bypass.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_file_transfer.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_sap.cpp
bs_sap.cpp(1): fatal error C1083: 无法打开包括文件: “util.h”: No such file or directory
bs_signoff.cxx
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_signoff.cxx(63): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明
bs_sign_cad.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_sign_cad.cpp”: No such file or directory
bs_wl_check.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_wl_check.cpp”: No such file or directory
epm_register_handler.cxx
epm_register_handler.cxx(50): warning C4101: “now”: 未引用的局部变量
epm_register_handler.cxx(49): warning C4101: “expire_date”: 未引用的局部变量
epm_register_handler.cxx(49): warning C4101: “date_buf”: 未引用的局部变量
epm_register_handler.cxx(51): warning C4101: “p”: 未引用的局部变量
bs_custom_main.cxx
jd_clear_field.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
jd_clear_field.cpp(119): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”可能丢失数据
jd_clear_field.cpp(181): warning C4190: “GBKToUTF8”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xstring(2633): note: 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明
jd_clear_field.cpp(251): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_clear_field.cpp(271): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1952): note: 参见“_snprintf”的声明
jd_clear_field.cpp(283): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_clear_field.cpp(285): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“const wchar_t *”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%ls”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%lls”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%Ls”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%ws”
jd_clear_field.cpp(245): warning C4101: “rev_attachments”: 未引用的局部变量
jd_clear_field.cpp(244): warning C4101: “ref_obj”: 未引用的局部变量
jd_clear_field.cpp(242): warning C4101: “attach_type”: 未引用的局部变量
jd_clear_field.cpp(492): warning C4101: “err_function”: 未引用的局部变量
jd_clear_field.cpp(492): warning C4101: “err_string”: 未引用的局部变量
jd_signoff.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
jd_signoff.cpp(80): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”可能丢失数据
jd_signoff.cpp(213): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明
jd_signoff.cpp(233): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_signoff.cpp(309): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_signoff.cpp(209): warning C4101: “verdict”: 未引用的局部变量
jd_signoff.cpp(227): warning C4101: “rev_attachments”: 未引用的局部变量
jd_signoff.cpp(226): warning C4101: “ref_obj”: 未引用的局部变量
jd_signoff.cpp(224): warning C4101: “attach_type”: 未引用的局部变量
util.cpp
c1xx : fatal error C1083: 无法打开源文件: “util.cpp”: No such file or directory
正在生成代码...
c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1447): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1352): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1355): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1357): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(868): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(871): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(873): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1051): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1053): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1055): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(468): warning C4793: “JD_Revise_clear”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(469): warning C4793: “JD_Revise_clear”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1447): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1352): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1355): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1357): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(868): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(871): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(873): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1051): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1053): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1055): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
 bs_sap.cpp
C:\work\include12_1\pom/pom/pom.h(816): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_1\pom/pom/pom.h(5420): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_1\qry/qry.h(591): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_1\qry/qry.h(591): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_sap.cpp(8): warning C4101: “obj_type”: 未引用的局部变量
bs_sap.cpp(212): warning C4101: “obj_type”: 未引用的局部变量
bs_sap.cpp(244): warning C4101: “lines”: 未引用的局部变量
bs_sap.cpp(242): warning C4101: “line_cnt”: 未引用的局部变量
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1189,5): warning MSB8012: TargetPath(C:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.dll) does not match the Linker's OutputFile property value (C:\work\vs_workspace\jditk\x64\Release\bs.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1191,5): warning MSB8012: TargetName(HEZON_ITK) does not match the Linker's OutputFile property value (bs). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
util.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@$$FYA_NIPEBD@Z) 已在 jd_signoff.obj 中定义;已忽略第二个定义
util.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@YA_NIPEBD@Z) 已在 jd_signoff.obj 中定义;已忽略第二个定义
MSVCRT.lib(default_local_stdio_options.obj) : warning LNK4006: __local_stdio_printf_options 已在 libassy_jt.lib(libassy_jt.dll) 中定义;已忽略第二个定义
正在创建库 C:\work\vs_workspace\jditk\x64\Release\\bs.lib 和对象 C:\work\vs_workspace\jditk\x64\Release\\bs.exp
jd_signoff.obj : warning LNK4248: 无法解析 typeref 标记(01000016)(为“_jmethodID”);映像可能无法运行
jd_clear_field.obj : warning LNK4248: 无法解析 typeref 标记(01000017)(为“_jmethodID”);映像可能无法运行
C:\work\vs_workspace\jditk\x64\Release\\bs.dll : warning LNK4088: 因 /FORCE 选项生成了映像;映像可能不能运行
HEZON_ITK.vcxproj -> C:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.dll
HEZON_ITK.vcxproj -> C:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.pdb (Full PDB)

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save