gpt4 book ai didi

c++ - v8.5 - 编译并行变压器时出错

转载 作者:行者123 更新时间:2023-11-28 06:39:59 30 4
gpt4 key购买 nike

如果我能在解决这个问题上获得一些帮助,我将不胜感激,我已经通过各种论坛寻找信息超过 2 天。哭泣或非常难过 哭泣或非常难过

我已经在 Windows 环境中安装了 Infosphere Datastage v8.5 进行测试并运行了几个作业,但是当我运行一个包含变压器的作业时,我得到了编译错误。

作业:行生成器 -> Tfx -> 顺序文件

根据我对各种论坛的搜索,我发现其他人也遇到了类似的问题。但我无法找到关于以下问题的具体答案:
1.我需要安装的编译器和需要一起安装的相关SDK
2.或者编译器+SDK的组合包

安装指南谈到了 Microsoft Visual Studio .NET 2008 Express Edition C++:但没有提到需要安装的相关 SDK 是什么?
或者是否有更新版本的 C++ 编译器 + SDK 可以在我的环境中运行

我的环境详细信息:

操作系统 - Windows Server 2008 R2(标准)SP1 - 64 位

IIS - Infosphere Information Server v8.5 64bit 多语言

--================

.Net 框架

--================

微软 .Net 框架 1.1

Microsoft .Net 框架 4 客户端配置文件

Microsoft .Net 框架 4 扩展

--=====

SDK

--=====

适用于 Windows 7 和 .NET Framework 3.5 SP1 的 Microsoft Windows SDK

本 SDK 创建了 2 个目录 path ,分别如下:

C:\Program Files\Microsoft SDK

C:\Program 文件 (x86)\Microsoft Visual Studio 9.0

Windows 环境变量:

包含 - C:\IBM\SQLLIB\INCLUDE;C:\IBM\SQLLIB\LIB;C:\Program Files\Microsoft SDKs\Windows\v7.0\Include

LIB - C:\Program Files\Microsoft SDKs\Windows\v7.0\Lib;C:\IBM\SQLLIB\LIB

类路径 - .;C:\IBM\SQLLIB\java\db2java.zip;C:\IBM\SQLLIB\java\db2jcc.jar;C:\IBM\SQLLIB\java\sqlj.zip;
C:\IBM\SQLLIB\java\db2jcc_license_cu.jar;C:\IBM\SQLLIB\bin;C:\IBM\SQLLIB\java\common.jar

路径 - C:\IBM\InformationServer\Server\DSComponents\bin;C:\Program Files (x86)\MKS Toolkit\mksnt;C:\PROGRA~2\MKSTOO~1\bin64;C:\PROGRA~2\MKSTOO ~1\bin;
C:\PROGRA~2\MKSTOO~1\bin\X11;C:\PROGRA~2\MKSTOO~1\mksnt;C:\IBM\InformationServer\ASBNode\apps\jre\bin\classic;C:\IBM\信息服务器\ASBNode\lib\cpp;
C:\IBM\InformationServer\ASBNode\apps\proxy\cpp\vc60\MT_dll\bin;%systemroot%\system32;%systemroot%;
%systemroot%\system32\wbem;%systemroot%\system32\windowspowershell\v1.0\;c:\program files (x86)\microsoft visual studio 9.0\vc\bin;
c:\program 文件 (x86)\microsoft visual studio 9.0\common7\ide;c:\program files\ibm\gsk8\lib64;C:\IBM\SQLLIB\BIN;C:\IBM\SQLLIB\FUNCTION;
C:\IBM\SQLLIB\SAMPLES\REPL;C:\Windows/SysWOW64

windows 命令提示符下的编译器信息:

c:\用户\skh>cl.exe

Microsoft (R) 32 位 C/C++ 优化编译器版本 15.00.30729.01 用于 80x86
版权所有 (C) 微软公司。版权所有。

用法: cl [ 选项... ] 文件名... [/link 链接选项... ]

数据阶段环境变量:

APT_COMPILEOPT(旧):-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t-
APT_COMPILEOPT(新):-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c

APT_LINKOPT(旧):-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-

APT_LINKOPT(新):-s -W/dll -W/base:0x50000000

(旧)表示 DS 环境变量具有的默认值。我运行了我的工作,它有一个变压器,但我得到了编译错误。
我将环境变量值更改为(新)中所述的值,但仍然出现下面提到的编译错误

变压器编译的输出如下:

I IIS-DSEE-TFCN-00001 12:55:36(000)

IBM WebSphere DataStage 企业版 8.5.0.5746
版权所有 (c) 2001, 2005-2008 IBM Corporation。版权所有

##I IIS-DSEE-TFCN-00006 12:55:36(001) <main_program> conductor uname: -s=Windows_NT; -r=1; -v=6; -n=IN-MUM-IBMQLT; -m=Pentium 
##I IIS-DSEE-TOSH-00002 12:55:36(002) <main_program> orchgeneral: loaded
##I IIS-DSEE-TOSH-00002 12:55:36(003) <main_program> orchsort: loaded
##I IIS-DSEE-TOSH-00002 12:55:36(004) <main_program> orchstats: loaded
##W IIS-DSEE-TOSH-00049 12:55:36(007) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E IIS-DSEE-TBLD-00076 12:55:39(000) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256.
##E IIS-DSEE-TFSR-00019 12:55:39(001) <main_program> Could not check all operators because of previous error(s)
##W IIS-DSEE-TFTM-00012 12:55:39(002) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##I IIS-DSEE-TBLD-00000 12:55:39(003) <main_program> Error when checking composite operator: Output from subprocess: cl : Command line warning D9035 : option 'GX' has been deprecated and will be removed in a future release
cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
cl : Command line warning D9025 : overriding '/GX' with '/EHa'

##I IIS-DSEE-TBLD-00000 12:55:39(004) <main_program> Error when checking composite operator: Output from subprocess: C:\IBM\InformationServer\Server\PXEngine\include\apt_util/ints.h(83) : fatal error C1083: Cannot open include file: 'strstream': No such file or directory

##W IIS-DSEE-TFEV-00025 12:55:39(005) <transform> Error when checking composite operator: Converting string to number.
##W IIS-DSEE-TFEV-00023 12:55:39(006) <transform> Error when checking composite operator: Implicit conversion from source type "String" to result type "DFloat".
##W IIS-DSEE-TFEV-00025 12:55:39(007) <transform> Error when checking composite operator: Converting number to string.
##W IIS-DSEE-TFEV-00023 12:55:39(008) <transform> Error when checking composite operator: Implicit conversion from source type "DFloat" to result type "String".
##W IIS-DSEE-TBLD-00000 12:55:39(009) <main_program> Error when checking composite operator: Output from subprocess: ld: script execution error in file 'C:/PROGRA~2/MKSTOO~1/etc/nutccg/ld.ccg' on line 1119
>>> execv: could not run 'link32': The system cannot find the file specified.

##I IIS-DSEE-TBLD-00079 12:55:39(010) <transform> Error when checking composite operator: cxx -LC:/IBM/InformationServer/Server/Projects/PRJ_QSPOC/RT_BP2.O/ -LC:/IBM/InformationServer/Server/PXEngine/lib -LC:/IBM/InformationServer/Server/PXEngine/user_lib -s -W/dll -W/base:0x50000000 -lliborchnt -lliborchcorent -lliborchbuildopnt C:/IBM/InformationServer/Server/Projects/PRJ_QSPOC/RT_BP2.O/V0S3_TestJob_Tfx_Transformer.tmp.o -o C:/IBM/InformationServer/Server/Projects/PRJ_QSPOC/RT_BP2.O/V0S3_TestJob_Tfx_Transformer.dll.
##E IIS-DSEE-TCOS-00029 12:55:39(011) <main_program> Creation of a step finished with status = FAILED. (TestJob_Tfx.Transformer)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S3_TestJob_Tfx_Transformer transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink2;
0007: outputname 0 DSLink5;
0008:
0009: initialize {
0010: // define our control variables
0011: int8 RowRejected0;
0012: int8 NullSetVar0;
0013:
0014: }
0015:
0016: mainloop {
0017:
0018: // declare our intermediate variables for this section
0019: dfloat InterVar0_0;
0020:
0021: // initialise the rejected row variable
0022: RowRejected0 = 1;
0023:
0024: // evaluate columns (no constraints) for link: DSLink5
0025: InterVar0_0 = DSLink2.Dummy1;
0026: DSLink5.Dummy1 = (InterVar0_0 + 5);
0027: writerecord 0;
0028: RowRejected0 = 0;
0029: }
0030:
0031: finish {
0032: }
0033:
*** End of Internal Generated Transformer Code

最佳答案

这就是我修复它的方式。我希望这可以帮助面临类似问题的人并节省一些时间和精力。

所以,就这样:

我安装了 Visual Studio C++ 2008 速成版。

然后我处理了 vcvarsall.bat 文件。如果您想知道为什么,请检查

(
http://msdn.microsoft.com/en-us/library/x4d2c09s(v=vs.80).aspx )



Errors while building/installing C module for Python 2.7

)

我从 cmd 窗口执行以下命令,以设置 64 位编译器:

vcvarsall.bat amd64



注意:我的环境有一个 X64 AMD 芯片组 windows 服务器;我使用 echo %PROCESSOR_ARCHITECTURE% 从 cmd 窗口来确定这一点。

要交叉检查设置了哪个编译器,请执行以下命令,输出将指示。

cl.exe



接下来,设置以下 windows 系统变量:

包括 - C:\IBM\SQLLIB\INCLUDE;C:\IBM\SQLLIB\LIB; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include

LIB - C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib ;C:\IBM\SQLLIB\LIB

笔记:-
文件夹路径 C:\Program Files\Microsoft SDKs\Windows\v6.0A 由 Visual Studio C++ 2008 Express Edition 创建。这应该是为 INCLUDE & LIB 设置的文件夹路径的来源

SDK创建的路径类似 C:\Program Files\Microsoft SDKs\Windows\v7.0\,但此路径中的 Include 和 Lib 文件夹不应该用于设置上述 Windows 环境变量,我犯了这个错误在我的设置过程中:(

如需引用,请查看要安装的 SDK 的发行说明。

将来自管理员的以下 Datastage ENV 变量设置为以下值。

APT_COMPILEOPT:-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -W/Zc:wchar_t-
APT_LINKOPT:-s -W/dll -W/base:0x50000000 -W/Zc:wchar_t-

然后我重新启动了 Datastage 服务。

..变压器开始工作:)

PS:我没有卸载 Information Server 也没有卸载 SDK(我最初认为这是问题所在)

关于c++ - v8.5 - 编译并行变压器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26157533/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com