blob: 86607f977506a6f86f84912c4f90696e50d7bb89 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Generated by Apache Maven Doxia at 2020-08-22 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>log4cxx - Building Apache log4cxx with Microsoft Visual Studio - Apache log4cxx</title>
<link rel="stylesheet" href="../css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="../css/site.css" type="text/css" />
<script type="text/javascript" src="../js/jquery.min.js"></script>
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../js/prettify.min.js"></script>
<script type="text/javascript" src="../js/site.js"></script>
<meta name="Date-Revision-yyyymmdd" content="20200822" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<a href="https://logging.apache.org/">
<img class="logo-left" src="../images/logos/ls-logo.jpg" alt="Apache logging services logo" />
</a>
<img class="logo-right" src="../images/logos/logo.png" alt="Apache log4j logo" />
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="http://logging.apache.org/log4cxx">Apache log4cxx &#8482;</a>
<ul class="nav">
<li>
<a href="https://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
</li>
<li>
<a href="https://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="https://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
</li>
<li>
<a href="https://github.com/apache/logging-log4cxx" class="external" target="_blank" title="GitHub">GitHub</a>
</li>
</ul>
<div class="pull-right">
<span id="publishDate">Last Published: 2020-08-22</span>
<span class="divider">|</span> <span id="projectVersion">Version: 0.11.0</span>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>About</li>
<li class="none">
<a href="../index.html" title="What is log4cxx?">What is log4cxx?</a>
</li>
<li class="none">
<a href="../project-info.html" title="Project Information">Project Information</a>
</li>
<li class="none">
<a href="../project-reports.html" title="Generated Reports">Generated Reports</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Usage</li>
<li class="none">
<a href="../usage.html" title="How to use log4cxx?">How to use log4cxx?</a>
</li>
<li class="none">
<a href="../apidocs/index.html" title="API Documentation">API Documentation</a>
</li>
<li class="none">
<a href="../faq.html" title="FAQ">FAQ</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Get</li>
<li class="none">
<a href="../download.html" title="Download">Download</a>
</li>
<li class="none">
<a href="../changes-report.html" title="Changes">Changes</a>
</li>
<li class="none">
<a href="../license.html" title="License">License</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>Community</li>
<li class="none">
<a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="../community/issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="https://wiki.apache.org/logging-log4cxx" class="external" target="_blank" title="Wiki">Wiki</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>Development</li>
<li class="none">
<a href="../source-repository.html" title="Repository">Repository</a>
</li>
<li class="none">
<a href="../dependencies.html" title="Dependencies">Dependencies</a>
</li>
<li class="expanded">
<a href="../building/index.html" title="Building">Building</a>
<ul>
<li class="none">
<a href="../building/maven.html" title="Apache Maven 2">Apache Maven 2</a>
</li>
<li class="none">
<a href="../building/autotools.html" title="Autotools">Autotools</a>
</li>
<li class="none">
<a href="../building/cmake.html" title="CMake">CMake</a>
</li>
<li class="none">
<a href="../building/vcpkg.html" title="Microsoft vcpkg">Microsoft vcpkg</a>
</li>
</ul>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Apache</li>
<li class="none">
<a href="https://www.apache.org" class="external" target="_blank" title="Home">Home</a>
</li>
<li class="none">
<a href="https://www.apache.org/foundation/sponsorship.html" class="external" target="_blank" title="Sponsorship">Sponsorship</a>
</li>
<li class="none">
<a href="https://www.apache.org/foundation/thanks.html" class="external" target="_blank" title="Thanks">Thanks</a>
</li>
<li class="none">
<a href="https://www.apachecon.com" class="external" target="_blank" title="Conferences">Conferences</a>
</li>
</ul>
</div>
<div id="poweredBy">
<a href="https://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<!-- Licensed to the Apache Software Foundation (ASF) under one or more --><!-- contributor license agreements. See the NOTICE file distributed with --><!-- this work for additional information regarding copyright ownership. --><!-- The ASF licenses this file to You under the Apache License, Version 2.0 --><!-- (the "License"); you may not use this file except in compliance with --><!-- the License. You may obtain a copy of the License at --><!-- --><!-- http://www.apache.org/licenses/LICENSE-2.0 --><!-- --><!-- Unless required by applicable law or agreed to in writing, software --><!-- distributed under the License is distributed on an "AS IS" BASIS, --><!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --><!-- See the License for the specific language governing permissions and --><!-- limitations under the License. --><div class="section">
<h2>Building Apache log4cxx with Microsoft Visual Studio<a name="Building_Apache_log4cxx_with_Microsoft_Visual_Studio"></a></h2>
<div class="section">
<h3>Preparation<a name="Preparation"></a></h3>
<div class="source">
<pre>unzip apr-1.2.11-win32-src.zip
rename apr-1.2.11 apr
unzip apr-util-1.2.10-win32-src.zip
rename apr-util-1.2.10 apr-util
cd apache-log4cxx-x.x.x
configure
configure-aprutil</pre></div>
<p>configure.bat copies the prefabricated log4cxx.hw and private/log4cxx_private.hw over to log4cxx.h and private/log4cxx_private.h.</p>
<p>configure-aprutil.bat uses &quot;sed&quot; to modify apu.hw and apr_ldap.hw to disable APR-Iconv and LDAP which are not necessary for log4cxx and problematic to build. If &quot;sed&quot; is not available, the modifications would be trivial to do in any text editor.</p>
<p>Use the Win32 source zips for APR and APR-Util to preserve the required line endings for the project files. Directories need to be renamed to &quot;apr&quot; and &quot;apr-util&quot; respectively.</p></div>
<div class="section">
<h3>Building log4cxx.dll<a name="Building_log4cxx.dll"></a></h3>
<p>Open projects/log4cxx.dsw with Microsoft Visual Studio 6 or later at which time you may be prompted to upgrade the projects to the format used by your version of Microsoft Visual Studio.</p>
<p>Select log4cxx as active project and build.</p></div>
<div class="section">
<h3>Running unit tests<a name="Running_unit_tests"></a></h3>
<p>To pass the unit tests, gzip, zip and sed must be on the path. Also three environment variables need to be defined: TOTO=wonderful, key1=value1 and key2=value2. These must be done outside of Microsoft Visual Studio, either in the Control Panel or in a Command Prompt used to launch Microsoft Visual Studio.</p>
<p>Open projects/testsuite.dsw or projects/testsuite-standalone.dsw (test suite and implementation in one project) in Microsoft Visual Studio, select active project and build.</p>
<p>On the Debug Tab of the Project/Settings dialog, set the Working Directory to &quot;../src/test/resources&quot;. Individual tests can be specified in Program Arguments and &quot;-v&quot; can be specified to output verbose test results.</p></div>
<div class="section">
<h3>Known Issues<a name="Known_Issues"></a></h3>
<ul>
<li>APR 1.2.12 has a known issue that will prevent compilation with Visual Studio 6 unless a later Platform SDK is installed. See APR bug <a class="externalLink" href="https://issues.apache.org/bugzilla/show_bug.cgi?44327">44327</a>. APR 1.2.11 and the corresponding APR-Util 1.2.10 will compile with Visual Studio 6.</li>
<li>APR-Util requires later LDAP headers than provided with Visual Studio 6 and will fail to compile. log4cxx does not use LDAP, it can be disabled in apr_ldap.hw.</li>
<li>APR-Iconv is problematic and not used by log4cxx, it can be disabled in apu.hw.</li></ul></div></div>
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright © 2003-2020 <a class="external" href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="https://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="https://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</body>
</html>