Tuesday, March 30, 2021

Utah teapot

Utah teapot

  1. The History of The Teapot
  2. As anyone who is into 3D computer graphics knows, there is something mysterious and special about The Teapot. It's not just any teapot - it's "The" teapot.

  3. The Utah Teapot
  4. The Utah teapot is an extremely frequently used model in computer graphics, and anyone that can program a 3D viewing program should be familiar with the teapot. A history of the teapot tells the story of its origins..

  5. dave3d / models
  6. The Utah teapot, or the Newell teapot, is a 3D test model that has become a standard reference object and an in-joke[1] within the computer graphics community. It is a mathematical model of an ordinary Melitta-brand teapot that appears solid with a nearly rotationally symmetrical body. Using a teapot model is considered the 3D equivalent of a "Hello, World!" program, a way to create an easy 3D scene with a somewhat complex model acting as the basic geometry for a scene with a light setup. Some programming libraries, such as the OpenGL Utility Toolkit,[2] even have functions dedicated to drawing teapots..

  7. Utah teapot
  8. This is a paragraph.

  9. 3D MODEL PORTAL
  10. It all started with a teapot. Since 1975, when Martin Newell created his 3D test model of a teapot, researchers have been using a variety of 3D geometric models as a reference for their work in the advancement of computer graphics. Here are some links to some iconic models and a new addition: the SIGGRAPH Pixel model.

    it is stored in C:\Demo_GLUTTutorial\teaset\teaset\newell_teaset

  11. CS148: Introduction to Computer Graphics and Imaging, Summer 2010
  12. This is a paragraphImage input and output devices such as cameras and displays, graphics hardware and software, input technologies and interactive techniques, typography and page layout, light and color representations, exposure and tone reproduction, image processing and compression, sampling, aliasing and antialiasing, two- and three-dimensional geometry, modeling techniques including curves and surfaces, reflection models and illumination algorithms, basic methods of animation, and information visualization..

  13. Teapot object data file
  14. data file.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

Saturday, March 27, 2021

Qt quick guide

Qt quick guide. used to run polyline simplication program.

Qt (version 4.7.4) is installed under C:\Qt\4.7.4 on my XPS-15 laptop.

the demo from cp is under C:\Demo_MFC\psimpl_v7_win32_demo.

The demo application was made using Qt 4.7.3, Qt Creator 2.1.0 and Visual Studio 2008 Express. Complete source code is included.

  1. Polyline Simplification
  2. A generic C++ implementation for n-dimensional Douglas-Peucker approximation.

  3. Qt Downloads
  4. download: qt-win-opensource-4.7.4-vs2008.exe

  5. Getting started with Qt
  6. Using Visual Studio’s editor and compiler:

  7. Qt correct setup for QMAKESPEC, QTDIR and PATH
  8. When you want to use different configurations for different platforms in your .pro file, it’s necessary to correctly setup three variables: QMAKESPEC, QTDIR and PATH.

  9. Qtcreator.exe missing from Qt 4.7.3
  10. Hi I have recently downloaded qt 4.7.3 for windows qt-win-opensource-4.7.3-vs2008.exe from this Link , I was using Qt Creator 3.0.1 based on Qt 5.2.1 (MSVC 2010, 32 bit) till now , but I need to build my project in Qt 4.7.3 ...the problem is I couldn't find the Qtcreator.exe in the downloaded folder , it contains all the libraries and everything except the.exe file .Is there any solution to get the Qtcreator.exe file for Qt 4.7.3 or is there any way to configure it with my Qt creator 3.0.1?

  11. How to Set New User and System Environment Variables in Windows
  12. Environment variables are a set of dynamic named values that can affect the way running processes will behave on a computer. The variables can be used both in scripts and on the command line. Environment variables makes it easy when certain standard directories and parameters need to be referenced but where the actual locations or names can vary from computer to computer.

  13. Setting global environment variables on Windows
  14. This is a paragraph.

  15. How to change environment variables on Windows 10
  16. Here is a guide to editing environment variables on Windows 10! Please note, if you are specifically looking to modify the PATH environment variable, then see Add to the PATH on Windows 10..

  17. How to set the path and environment variables in Windows
  18. Setting the path and environment variables will differ depending on the version of Windows you have on your computer. Choose a link below for your version of Windows.

  19. Setting environment variables for build in Visual Studio (2008)
  20. I looked at some projects generated by the Qt plugin for VS and noticed that they use the environment variable QTDIR to refer for example to the Qt header files. However I failed to figure out where this variable is set. I guess it must be somewhere in the project settings, however I could not find it. Also please note that I am referring to the environment variables required during the build, not the ones for debugging.

  21. Documentation for setting environment variables in windows?
  22. Hi, I've been having tons of issues with the latest Qt release(which can be seen in my post history) and i'm trying to tackle the next issue by setting environment variables. Is there documentation that tells me how to set them properly? cause Qt is complaining that they need to be set..

  23. Qt tools: Environment Variables
  24. In order to successfully use Qt three environment variables have to be setup: QTDIR, PATH and QMAKESPEC. In order to compile Qt, the QTDIR has to be set to point at the directory containing the Qt distribution. In my Mandrake 9 installation QTDIR is set to /usr/lib/qt3. To be able to invoke the Qt tools from the command line the PATH variable needs to be set. Simply include ${QTDIR}/bin at the end of your PATH. In order to use qmake properly the QMAKESPEC has to be setup. QMAKESPEC points at a directory holding files describing the target environment to qmake. Qt includes a directory called mkspecs, located at $QTDIR/mkspecs, containing a number of prepared specifications. Hopefully one of these fits you needs, for example an x86 Linux installation using gcc as the compiler uses linux-g++, thus QMAKESPEC should be set to $QTDIR/mkspecs/linux-g++.

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

  29. This is a paragraph.

  30. This is a paragraph.

  31. This is a paragraph.

  32. This is a paragraph.

Friday, March 26, 2021

upgrade legacy C++ code with compiler options

A complete collection of upgrading legacy projects.

upgrade legacy C++ code with compiler options.

  1. Visual Studio IDE tools for upgrading C++ code
  2. Visual Studio helps you upgrade legacy C++ code with compiler options, code analysis warnings, and editor features such as Quick Fixes, Quick Info, and the enhanced scroll bar. The term "legacy code" refers to any of these categories:

    1. Code that was formerly allowed by the Microsoft C++ compiler (MSVC) but never conformed to the C++ standard.

      To upgrade older non-conformant MSVC code, turn on the /permissive- compiler option. All instances of non-conformant usages are underlined with red squiggles in the code editor. The error messages in the Error List window include a recommendation for how to fix the error. Click on the error code to go to its help page in the documentation. If fixing all the errors at once is impractical, you can upgrade non-conformant code in stages by turning on the permissive- option, fixing some errors, then turning the option off again. The code will compile with the new improvements, and you can go back and fix the remaining issues at a later time. See the /permissive- page for examples of non-conformant MSVC code.

    2. Code that was permitted in an earlier version of the C++ standard but has been deprecated or removed in a later version.

      To upgrade to a newer language standard, set the C++ Language Standard option to the desired standard and fix any compile errors that are raised. In general, we recommend setting the language standard to /std:c++17. The errors raised when upgrading to a newer standard are not related to the errors raised when using the permissive- option.

    3. Code that conforms to all versions of the standard but is no longer considered best practice in modern C++.
    To identify code where changes are recommended, run Code analysis.

  3. Upgrade C++ projects from earlier versions of Visual Studio
  4. To upgrade a project created in an earlier version of Visual Studio, just open the project in the latest version of Visual Studio. Visual Studio offers to upgrade the project to the current schema.

    If you choose No, the project doesn't get upgraded. For projects created in Visual Studio 2010 and later, you can still use the project in the newer version of Visual Studio. Just set your project properties to continue to target the older toolset. If you leave the older version of Visual Studio on your computer, its toolset is available in later versions. For example, if your project must continue to run on Windows XP, you can upgrade to Visual Studio 2019. You then specify the toolset as v141_xp or earlier in your project properties. For more information, see Use native multi-targeting in Visual Studio to build old projects.

    If you choose Yes, then the project gets upgraded in place. It can't be converted back to the earlier version. In upgrade scenarios, that's why it's good practice to make a backup copy of the existing project and solution files.

  5. Overview of potential upgrade issues (Visual C++)
  6. Over the years, the Microsoft C++ compiler has undergone many changes, along with changes in the C++ language itself, the C++ Standard Library, the C runtime (CRT), and other libraries such as MFC and ATL. As a result, when upgrading an application from an earlier version of Visual Studio you might encounter compiler and linker errors and warnings in code that previously compiled cleanly. The older the original code base, the greater the potential for such errors. This overview summarizes the most common classes of issues you are likely to encounter, and provides links to more detailed information.

  7. Upgrade your code to the Universal CRT
  8. In Visual Studio 2015, the Microsoft C Runtime Library (CRT) was refactored. The Standard C Library, POSIX extensions and Microsoft-specific functions, macros, and global variables were moved into a new library, the Universal C Runtime Library (Universal CRT or UCRT). The compiler-specific components of the CRT were moved into a new vcruntime library.

    The UCRT is now a Windows component, and ships as part of Windows 10. The UCRT supports a stable ABI based on C calling conventions, and it conforms closely to the ISO C99 standard, with only a few exceptions. It is no longer tied to a specific version of the compiler. You can use the UCRT on any version of Windows supported by Visual Studio 2015 or Visual Studio 2017. The benefit is that you no longer need to update your builds to target a new version of the CRT with every upgrade of Visual Studio.

    With this refactoring, the names or locations of many CRT header files, library files, and redistributables, and the deployment methods required for your code have changed. In addition, many functions and macros in the UCRT were added or changed to improve standards conformance. To take advantage of these changes, your existing code and project build systems must be updated.

  9. Update WINVER and _WIN32_WINNT
  10. When you use the Windows SDK, you can specify which versions of Windows your code can run on. The preprocessor macros WINVER and _WIN32_WINNT specify the minimum operating system version your code supports. Visual Studio and the Microsoft C++ compiler support targeting Windows 7 SP1 and later. Older toolsets include support for Windows XP SP2, Windows Server 2003 SP1, Vista, and Windows Server 2008. Windows 95, Windows 98, Windows ME, Windows NT, and Windows 2000 are unsupported.

    When you upgrade an older project, you may need to update your WINVER or _WIN32_WINNT macros. If they're assigned values for an unsupported version of Windows, you may see compilation errors related to these macros.

  11. Fix your dependencies on C++ library internals
  12. Microsoft has published the source code for the Standard Library, most of the C Runtime Library, and other Microsoft libraries in many versions of Visual Studio. The intent is to help you understand library behavior and to debug your code. One side-effect of publishing the library source code is that some internal values, data structures, and functions are exposed, even though they are not part of the library interface. They usually have names that begin with two underscores, or an underscore followed by a capital letter, names that the C++ Standard reserves to implementations. These values, structures, and functions are implementation details that may change as the libraries evolve over time, and so we strongly recommend against taking any dependencies on them. If you do, you risk non-portable code and issues when you try to migrate your code to new versions of the libraries.

    In most cases, the What's New or Breaking Changes document for each release of Visual Studio doesn't mention changes to library internals. After all, you're not supposed to be affected by these implementation details. However, sometimes the temptation to use some code you can see inside the library is too great. This topic discusses dependencies on CRT or Standard Library internals you may have relied on, and how to update your code to remove those dependencies so you can make it more portable or migrate to new versions of the library.

  13. New math functions and Universal CRT changes
  14. Most CRT math functions have been available in Visual Studio for years, but starting in Visual Studio 2013, all of the functions required by ISO C99 are included. These functions are implemented to balance performance with correctness. Because producing the correctly rounded result in every case may be prohibitively expensive, these functions are designed to efficiently produce a close approximation to the correctly rounded result. In most cases, the result produced is within +/-1 unit of least precision, or ulp, of the correctly rounded result, though there may be cases where there is greater inaccuracy. If you were using a different math library to get these functions before, implementation differences may be responsible for the change in your results.

    When the math functions were moved to the Universal CRT in Visual Studio 2015, some new algorithms were used, and several bugs in the implementation of the functions that were new in Visual Studio 2013 were fixed. These changes can lead to detectable differences in the results of floating-point calculations that use these functions. The functions that had bug issues were erf, exp2, remainder, remquo, scalbln, and scalbn, and their float and long double variants. Other changes in Visual Studio 2015 fixed issues in preserving floating point status word and exception state information in _clear87, _clearfp, fegetenv, fesetenv, and feholdexcept functions.

  15. Use native multi-targeting in Visual Studio to build old projects
  16. This is a paragraph.Normally, we recommend that you update your projects when you install the latest version of Visual Studio. The cost of updating your projects and code is usually more than offset by the benefits of the new IDE, compiler, libraries, and tools. However, we know that you may not be able to update some projects. You may have binaries that are tied to older libraries or platforms that for maintenance reasons you can't upgrade. Your code may use non-standard language constructs that would break if you moved to a more recent compiler. Your code might rely on 3rd party libraries compiled for a specific version of Visual C++. Or you may produce libraries for others that must target a specific older version of Visual C++.

    Fortunately, you can use Visual Studio 2017 and Visual Studio 2015 to build projects that target older compiler toolsets and libraries. You don't have to upgrade a Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, or Visual Studio 2015 project to take advantage of new features in the IDE:

  17. C++ features deprecated in Visual Studio 2019
  18. Visual Studio 2019 and later does not include support for creating code for Windows XP by using the v142 toolset. Support for Windows XP development by using the v141 toolset that shipped in Visual Studio 2017 is available as an optional component in the Visual Studio Installer. For information on how to install the v141 Windows XP platform toolset, see Configuring programs for Windows XP.

  19. VCBuild vs. MSBuild: Build system changes in Visual Studio 2010
  20. The MSBuild system for C++ projects was introduced in Visual Studio 2010. In Visual Studio 2008 and earlier releases, the VCBuild system was used. Certain file types and concepts that depended on VCBuild either do not exist or are represented differently in MSBuild. This document discusses the differences in the current build system. To convert a Visual Studio 2008 project to MSBuild, you must use Visual Studio 2010. After the project is converted, you should use the latest version of Visual Studio to upgrade to the current IDE and compiler toolset. For more information, including how to obtain Visual Studio 2010, see Instructions for Visual Studio 2008.

    The following sections summarize the changes from VCBuild to MSBuild. If your VCBuild project has custom build rules or macros that aren't recognized by MSBuild, see Visual Studio Projects - C++ to learn how to translate those instructions to the MSBuild system. The initial conversion from VCBuild to MSBuild is just an intermediate step. It isn't necessary to get the project file completely correct or to get the program to compile without errors. You are only using Visual Studio 2010 to convert the project to MSBuild format so that you get the project working in the latest version of Visual Studio.

  21. Porting and Upgrading: Examples and Case Studies
  22. You can get an idea of the kinds of issues you might encounter duration a migration from a previous version of Visual C++ to the current one by reviewing stories of successful migrations.

Microsoft C/C++ change history 2003 - 2015

Microsoft C/C++ change history 2003 - 2015

PLOT library is written in 2003, but can not compile after it because of the upgrade of compiler.

  1. Microsoft C/C++ change history 2003 - 2015
  2. This article describes all the breaking changes from Visual Studio 2015 going back to Visual Studio 2003, and in this article the terms "new behavior" or "now" refer to Visual Studio 2015 and later. The terms "old behavior" and "before" refer to Visual Studio 2013 and earlier releases.

  3. Visual C++ What's New 2003 through 2015
  4. This page gathers all the "What's New" pages for all versions of Visual C++ from Visual Studio 2015 back to 2003. This information is provided as a convenience in case it might be useful when upgrading from earlier versions of Visual Studio.

  5. C++ binary compatibility between Visual Studio 2015, 2017, and 2019
  6. The Microsoft C++ (MSVC) compiler toolsets in Visual Studio 2013 and earlier don't guarantee binary compatibility across major versions. You can't link object files, static libraries, dynamic libraries, and executables built by different versions of these toolsets. The ABIs, object formats, and runtime libraries are incompatible.

    We've changed this behavior in Visual Studio 2015, 2017, and 2019. The runtime libraries and apps compiled by any of these versions of the compiler are binary-compatible. It's reflected in the C++ toolset major number, which starts with 14 for all three versions. (The toolset version is v140 for Visual Studio 2015, v141 for 2017, and v142 for 2019). Say you have third-party libraries built by Visual Studio 2015. You can still use them in an application built by Visual Studio 2017 or 2019. There's no need to recompile with a matching toolset. The latest version of the Microsoft Visual C++ Redistributable package (the Redistributable) works for all of them.

Thursday, March 25, 2021

PLOT chart details

PLOT chart details

  1. A C++ implementation of Douglas-Peucker Line Approximation Algorithm
  2. DP Line approximation algorithm is a well-known method to approximate 2D lines. It is quite fast, O(nlog_2(n)) for a n-points line and can drastically compress a data curve. Here, a fully OOP implementation is given.

  3. Plot Graphic Library
  4. A library to plot data (lines, maps...) in MFC projects

    In this article, you will see a library called PGL that encapsulates plot capabilities in a MFC project for VC6 and VC7. It can easily plot data generated in a project without the need of any external software.

  5. A C++ implementation of Douglas-Peucker Line Approximation Algorithm
  6. In this article, you will learn about a contour plot class, which is an improved version of the Level Curve Tracing Algorithm. It was designed to draw iso-contour of a user-defined function f(x,y).

  7. Polyline Simplification
  8. A generic C++ implementation for n-dimensional Douglas-Peucker approximation

  9. psimpl generic n-dimensional poyline simplification
  10. psimpl is a lightweight header-only C++ library that is generic, easy to use, and provides a variety of simplification algorithms, including the popular Douglas-Peucker approximation. Algorithms for computing the error induced by simplification are also provided.

    All the algorithms use a STL-style interface that operates on input and output iterators. Supported polylines can be of any dimension, and defined using floating point or signed integer data types.

  11. OGLTools, A OOP solution to OpenGL programming
  12. A set of classes designed to make programming of OpenGL easier.

  13. Generating Outlines in OpenGL
  14. Using multi-pass techniques to generate outlines in OpenGL..

  15. A Lightweight Real-time OpenGL Graph Component
  16. This is a paragraph.

  17. A class wrapper for Matlab(c) ActiveX Control
  18. Eases up the use of the Matlab(c) COM server....

  19. OpenGL Version Check Windows Visual Studio No Dependencies
  20. This fully copy pasteable program shows the version of OpenGL your Windows OS supports.

  21. Welcome to the GeomAlgorithms.com website

How do I build an import library (.lib) AND a DLL in Visual C++?

How do I build an import library (.lib) AND a DLL in Visual C++?

  1. How do I build an import library (.lib) AND a DLL in Visual C++?
  2. A Question:I want to have a single Visual Studio project that builds a DLL file and an import library (.lib) file. (An import library is a statically-linked library that takes care of loading that DLL file in other projects that use it).

    So I went to Visual Studio C++ 2008 Express Edition, created a New Project of type Class Library, and set the "Configuration Type" to be "Dyanamic Library (.dll)".

    But when I build the solution, the only relevant output file I see is a DLL file; I don't see any LIB file getting generated. I looked in the project directory and all subdirectories (Release and Debug).

    Caveat: I just had this exact problem where my .lib file was not being generated. After googling through all info I could find about possible causes and carefully going through all the answers below I finally figured out that it was because my .cpp file didn't include my .h file. :( Just throwing it out here so that my comment could (with a small probability) help someone/myself if my stupid mistake is repeated in some distant future

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

Tuesday, March 23, 2021

Networking tricks and tips

Networking tricks and tips

  1. Finding your IP address without using the command promp
  2. This article will walk you through finding the IP address of the network adapter on a computer without using the command prompt on Windows 7, Vista, XP and Mac OS X.

    To find the IP address on Windows 7, without using the command prompt:

    1. In the system tray, click the network connection icon and select Open Network and Sharing Center.
    2. To view the IP address of a wired connection, double-click Local Area Connection and click Details, your IP address will appear next to "IPv4 Address".
    3. To view the IP address of a wireless adapter, double-click Wireless Network Connection (Network Name) and click Details your IP address will appear next to "IPv4 Address".

  3. How to Use CMD to Find an IP
  4. Internet Protocol, or IP, addresses allow networked computers, servers and other hardware to find each other and communicate. In your business network, your network router's IP address is called the "default gateway," because it acts as a central hub through which all other hardware connects and assigns IP addresses for connected hardware.

    Using Command Prompt commands, you can locate the router's default gateway and the IP address assigned to your computer. If you are not using a router, the resulting IP address will be the IP assigned by your Internet service provider. The Command Prompt tool also offers other means of finding IP addresses, including looking up the server IP address that hosts your business website or listing the IP addresses of every server between your current location and a website..

  5. Finding the Host Name, IP Address or Physical Address of your machine
  6. A black and white window will open where you will type ipconfig /all and press enter.

    There is a space between the command ipconfig and the switch of /all.

  7. Check IP address from CMD
  8. Ipconfig command is used to find the IP address of a system from command line. Run the command ipconfig to print IP addresses for all network adapters installed on the system.

  9. How do I determine my computer's IP address?
  10. Windows Vista (All Versions): Network and Sharing Center

    1. From the desktop, navigate through; Logo > Control Panel > Network & Internet > View Network Status and Tasks. This will open the "Network and Sharing Center".
    2. Select the "Connection" > "Local Area Connection" then the "Status" tab. The "details" buttonwill provide the IP address and connection information.

  11. Windows 8 and 10- Finding the IP Number and MAC Address of a Network Card
  12. This document explains how to find the IP number and MAC address of a network card in Windows 8 and 10.

  13. Find Your IP Address on Windows or Mac
  14. Need to find your IP address? Whether you’re troubleshooting an issue, setting up a network, or simply trying to satisfy your curiosity, we’re here to help. Learn how to find the IP address of your computer and network, no matter if you use a Mac or Windows machine..

  15. How to find your computer's IP address on Windows, for troubleshooting or configuring your internet connection
    1. Your computer's IP address, the string of numbers used to identify your computer online, can be found in Windows easily.
    2. You usually don't need to know your IP address, and it's usually assigned automatically, but you can find your Windows PC's local IP address by running a command called "ipconfig" in a Command Prompt window.
    3. You can also find both your local and public IP addresses in a web browser.

  16. Finding your IP address – Windows
  17. When connecting POSIM clients over a local network it can often be necessary to verify the IP address and/or hostname of a computer. Outlined below are the steps to find your computer’s IP address and hostname in Windows.

  18. ARCHIVED: Find the IP address of another networked computer in Windows
  19. Using the fully qualified domain name (FQDN) of a networked computer, nslookup will query a DNS server and return the IP address that corresponds to that domain name.

  20. IP Commands for DOS/Windows
  21. Moreover, DOS/Windows IP commands are used to perform several tasks like assigning an Internet Protocol address to a network interface or configuring network interface parameters. To clarify, below is only a small list of these type of commands that are available.

    Consequently, below you'll find a list of the most common Internet Protocol commands for Windows and DOS. For instance, these include ipconfig, trace route, netstat, arp, route, hostname, control netconnections, and other popular DOS and Windows Internet Protocol commands.

  22. Find IP Address on Windows 10
  23. You may ask yourself why in the world would I need to find IP address on Windows 10. Well that is a good question and if you are new to computers, routers, and everything relating to connecting to the Internet, it can be beneficial. Finding out your local IP address for setting up many things, like printers. It could also be used to solve any technical problems/issues on your network. For instance, you might need to contact a technical support associate and let them know your public IP address. Possibly if you happen to lose your internet connection. Also another reason would be to give someone permission to remote into your network.

    Moreover, in just a few steps, if your using the command prompt or Windows control panel, you can find the local IP address on windows 10.

  24. This is a paragraph.

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

  29. This is a paragraph.

  30. This is a paragraph.

  31. This is a paragraph.

Saturday, March 20, 2021

Visual Studio can't 'see' my included header files

  1. VISUAL STUDIO ISSUE MOST LIKELY - CAN'T SEE INCLUDE FILE
  2. A Question: Using Microsoft Visual Studio 2015 fortran code runs fine and an INCLUDE file is picked up and found just fine. Same code including have gone through ALL the preprocessor options running in Microsoft Visual Studio 2017 yields an inability for the INCLUDE file to be read. Assumption that this is a Visual Studio issue as nothing changed with the FORTRAN. I post here in the event that anyone else has seen this problem?

    A Good Anwser: There are two places for specifying INCLUDE directories. The one you found applies to all compiles across all projects. Typically this is used only for "system" type INCLUDE files, but if you have a set of files that you use a lot, that's a fine place to set them.

    The other is in the Project properties - there are two property pages that have "Additional Include Directories" properties: General and Preprocessor. They are the same (set one and the other changes.) This affects that project only. Note that project properties, by default, are specific to the Configuration (Debug/Release) and Platform (Win32/x64). If you want to set it for all of one or both, you have to specify "All Configurations"and/ or "All Platforms". If you are using module files, which are also found using these paths, you probably won't want to use "All Platforms" since .mod files are platform-specific.

    The default for INCLUDE files is the directory where the source file that had the INCLUDE statement is located. (Controlled by /assume:source_include). If the compiler doesn't find it there, it will look in the project's "additional" directories first and then the ones you set under Tools. Note that the latter is also platform-specific.

    The VS version has no real effect on program execution time. The only possible connection I could think of is the different MSVC libraries, but I have yet to see where those make a measurable difference.

  3. Visual Studio can't 'see' my included header files
  4. A Question:I created an empty 'Demo' project in Visual Studio 2008 and added some existing projects to my solution. Included "MyHeader.h" (other project's header) in main.cpp file which is in 'Demo'. Also added header files' path in "Tools/Option/VC++ Directories/Include files" section. But intellisense says: "File 'MyHeader.h' not found in current source file's directory or in build system paths..."

    How the problem can be fixed? Thanks.

    A Solution: If you choose Project and then All Files in the menu, all files should be displayed in the Solution Explorer that are physically in your project map, but not (yet) included in your project. If you right click on the file you want to add in the Solution Explorer, you can include it.

    If you choose Project and then All Files in the menu, all files should be displayed in the Solution Explorer that are physically in your project map, but not (yet) included in your project. If you right click on the file you want to add in the Solution Explorer, you can include it.

    Delete the .sdf file that is in your solution directory. It's just the Intellisense database, and Visual Studio will recreate it the next time you open that solution. This db can get corrupted and cause the IDE to not be able to find things, and since the compiler generates this information for itself on the fly, it wouldn't be affected.

    In Visual Studio 2019 in my case I copied a header file into the project directory, just near the other files. Intellisense could see it, but the build failed. Fair enough, it wasn't actually added to the project. I added it as existing item but this is the point that Visual Studio still didn't account for it. Solution:

    1. Close the project.
    2. Delete the .vs directory.
    3. Reopen the project. Now Visual Studio recreates the directory with everything in it and it can now see the included file.

  5. Visual Studio 2017 can't see include files and folders
  6. It could be failing because you are building in "Release" mode and you have added the path in "Debug" configuration. If you have made the same configuration changes in "Release" too, create a sample project, upload and provide the link to take a look at that. .

  7. /I (Additional include directories)
  8. Adds a directory to the list of directories searched for include files.

  9. Can not include header files
  10. I have just downloaded Open Frameworks for VisualStudio and im able to do simple things like drawing shapes on the screen etc. The problem is that i dont know how to add my own class. If i add a class consisting of header and .cpp file to “src” directory Im unable to #include header file in “main.cpp”. I dont understand why its like this, “main.cpp” and my class are in the same exact directory and VisualStudio is telling me that there is no header file named like this.

  11. VisualStudio cannot find include files
  12. It is obvious that I am missing something, but VisualStudio 2005 can’t seem to find my project’s include files, even though I have generated the project with the Introjucer (JuceLibraryCode.cpp compile fine). The projects work fine on the Mac. My source files each include the JuceHeader.h and/or other headers that belong to the project:.

OpenGL video series

  1. C++ Open GL Tutorial - 1 - Installation
  2. This is a paragraph.

  3. OpenGL
  4. OpenGL Before starting our journey we should first define what OpenGL actually is. OpenGL is mainly considered an API (an Application Programming Interface) that provides us with a large set of functions that we can use to manipulate graphics and images. However, OpenGL by itself is not an API, but merely a specification, developed and maintained by the Khronos Group.

    The OpenGL specification specifies exactly what the result/output of each function should be and how it should perform. It is then up to the developers implementing this specification to come up with a solution of how this function should operate. Since the OpenGL specification does not give us implementation details, the actual developed versions of OpenGL are allowed to have different implementations, as long as their results comply with the specification (and are thus the same to the user).

    The people developing the actual OpenGL libraries are usually the graphics card manufacturers. Each graphics card that you buy supports specific versions of OpenGL which are the versions of OpenGL developed specifically for that card (series). When using an Apple system the OpenGL library is maintained by Apple themselves and under Linux there exists a combination of graphic suppliers' versions and hobbyists' adaptations of these libraries. This also means that whenever OpenGL is showing weird behavior that it shouldn't, this is most likely the fault of the graphics cards manufacturers (or whoever developed/maintained the library).

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

Friday, March 19, 2021

_SECURE_ATL macro

_SECURE_ATL macro

I see this statement in a header file:

#ifndef _SECURE_ATL
#define _SECURE_ATL 1
#endif

  1. _SECURE_ATL deprecated?
  2. I broke out an old development system and found that _SECURE_ATL was used in the version of ATL that shipped with VS2005. It seemed to be related to the old _ATL_MIN_CRT option.

    It came with the VS2005 when creating a new MFC Application Multi document / View with the Wizard.

    I would feel comfortable deleting _SECURE_ATL in my own my project if my code did not reference it and it was not referenced by the current version ATL/MFC headers that would be used in the build process.

  3. Predefined macros
  4. The Microsoft C/C++ compiler (MSVC) predefines certain preprocessor macros, depending on the language (C or C++), the compilation target, and the chosen compiler options.

    MSVC supports the predefined preprocessor macros required by the ANSI/ISO C99, C11, and C17 standards, and the ISO C++14 and C++17 standards. The implementation also supports several more Microsoft-specific preprocessor macros. Some macros are defined only for specific build environments or compiler options. Except where noted, the macros are defined throughout a translation unit as if they were specified as /D compiler option arguments. When defined, the macros are expanded to the specified values by the preprocessor before compilation. The predefined macros take no arguments and can't be redefined.

    No preprocessor macros that identify the ATL or MFC library version are predefined by the compiler. ATL and MFC library headers define these version macros internally. They're undefined in preprocessor directives made before the required header is included.

    1. _ATL_VER Defined in <atldef.h > as an integer literal that encodes the ATL version number.
    2. _MFC_VER Defined in <afxver_.h > as an integer literal that encodes the MFC version number.

  5. List of _MSC_VER and _MSC_FULL_VER/a>
  6. Visual Studio version and discrimination macros.

  7. Microsoft Foundation Class Library
  8. MFC can be used by linking a static library or by adding the MFC DLL..

  9. MFC Library Versions
  10. The MFC Library is available in versions that support ANSI single-byte and multibyte character set (MBCS) code, as well as versions that support Unicode (encoded as UTF-16LE, the Windows-native character set). Each MFC version is available as a static library or as a shared DLL. There is also a smaller MFC static library version that leaves out MFC controls for dialogs, for applications that are very sensitive to size and don't need those controls. The MFC libraries are available in both debug and release versions for supported architectures that include x86, x64, and ARM processors. You can create both applications (.exe files) and DLLs with any version of the MFC libraries. There is also a set of MFC libraries compiled for interfacing with managed code. The MFC shared DLLs include a version number to indicate library binary compatibility.

  11. Window Objects
  12. MFC supplies class CWnd to encapsulate the HWND handle of a window. The CWnd object is a C++ window object, distinct from the HWND that represents a Windows window but containing it. Use CWnd to derive your own child window classes, or use one of the many MFC classes derived from CWnd. Class CWnd is the base class for all windows, including frame windows, dialog boxes, child windows, controls, and control bars such as toolbars. A good understanding of the relationship between a C++ window object and an HWND is crucial for effective programming with MFC.

    MFC provides some default functionality and management of windows, but you can derive your own class from CWnd and use its member functions to customize the provided functionality. You can create child windows by constructing a CWnd object and calling its Create member function, then customize the child windows using CWnd member functions. You can embed objects derived from CView, such as form views or tree views, in a frame window. And you can support multiple views of your documents via splitter panes, supplied by class CSplitterWnd.

Wednesday, March 17, 2021

Layout component and MFC controls - great collection of layout controls

MFC controls and Layout component. keyword:splitter control

    Aleh's controls & Layout framework

  1. ToolBoxCtrl
  2. The control representing a regular ToolBar in the form of a tree of command buttons

    In this tip, you will learn about a control representing a regular ToolBar in the form of a tree. Command buttons are located in tree branches and can be checked and disabled..

  3. SplitterCtrl - A Common Control Based on MFC
  4. In this article, you will learn about a control that is necessary for the partition of the dialog, main or child window of your program by several parts.

  5. MultiPaneCtrl - Create Hierarchically Nested Areas
  6. A control that allows you to create multiple tabbed regions that can be dragged to another location with the mouse..

  7. TabCtrl - Adjustable Control with Zooming and Scrolling Tabs
  8. In this article, you will learn about an adjustable control that has zooming and scrolling tabs, dragging with the mouse, custom drawing and much more.

  9. OutlookTabCtrl - Another Kind of Tab
  10. This tab control is derived from CWnd and is a common control based on MFC. It is possible to put it on any window: main frame, dialog, etc.

    This control is another kind of tab. Tabs are displayed as horizontal stripes and can be collapsed into buttons. Each tab is assigned its own window, which is shown when you click on the tab.

    Other Layout framework

  11. A Visual Framework (Views, Tabs and Splitters)
  12. Creating SDI/MDI applications with splitter and tab windows

  13. Splitter in an MFC dialog based application
  14. Using a button as splitter in MFC dialog based applications..

  15. Splitter Control for Dialog
  16. A splitter control for dialog can auto change the linked window's position.

  17. CSSplitter: A Splitter with the Ability to Save/Restore its Position
  18. A splitter control derived from CStatic for dialog controls, and that can be used not only within the restricted splitter pane.

  19. Custom Tab Controls, Tabbed Frame and Tabbed MDI
  20. An extensible framework for creating customized tabs in ATL/WTL, with a VS.NET-like tab control implementation, tabbed frames, tabbed MDI, and more.

  21. Tab Controls And Splitters - Adding Some Dockable And Floating Sugar
  22. Another implementation of dockable, floating, tabbing and splitting environment.

  23. Simple Splitter with CWnd-derived Panes
  24. A splitter window class, which combines the basic CSplitterWnd functionality and professional look with the ability to use CWnd-derived panes

  25. Toolbar in splitter window pane
  26. How to add a docking toolbar to a splitter window pane

  27. Implementing Rulers Inside of Splitter Panes
  28. Using fixed panes to add rulers to your view

  29. The ALXGrid Control Library.
  30. The ALXGrid Control Library is a set of classes for management of data as a table..

    newly added

  31. This is a paragraph.

  32. This is a paragraph.

  33. This is a paragraph.

  34. This is a paragraph.

  35. This is a paragraph.

Saturday, March 13, 2021

Common MSBuild project properties

Common MSBuild project properties

    Definitions from Microsoft

  1. Common MSBuild project properties
  2. The following table lists frequently used properties that are defined in the Visual Studio project files or included in .targets files that MSBuild provides.

    Project files in Visual Studio (.csproj, .vbproj, .vcxproj, and others) contain MSBuild XML code that runs when you build a project by using the IDE. Projects typically import one or more .targets files to define their build process. For more information, see MSBuild .targets files.

  3. MSBuild .targets files
  4. MSBuild includes several .targets files that contain items, properties, targets, and tasks for common scenarios. These files are automatically imported into most Visual Studio project files to simplify maintenance and readability.

    Projects typically import one or more .targets files to define their build process. For example a C# project created by Visual Studio will import Microsoft.CSharp.targets which imports Microsoft.Common.targets. The C# project itself will define the items and properties specific to that project, but the standard build rules for a C# project are defined in the imported .targets files.

  5. Common MSBuild project properties
  6. The following table lists frequently used properties that are defined in the Visual Studio project files or included in .targets files that MSBuild provides.

    Project files in Visual Studio (.csproj, .vbproj, .vcxproj, and others) contain MSBuild XML code that runs when you build a project by using the IDE. Projects typically import one or more .targets files to define their build process. For more information, see MSBuild .targets files..

  7. MSBuild .targets files
  8. MSBuild includes several .targets files that contain items, properties, targets, and tasks for common scenarios. These files are automatically imported into most Visual Studio project files to simplify maintenance and readability.

    Projects typically import one or more .targets files to define their build process. For example a C# project created by Visual Studio will import Microsoft.CSharp.targets which imports Microsoft.Common.targets. The C# project itself will define the items and properties specific to that project, but the standard build rules for a C# project are defined in the imported .targets files..

    Material for My Articles

  9. How to configure the intermediate output directory in C#
  10. I'm trying to organize my workspace and want my intermediate objects to be put in the ..\build\obj folder in relation to my .csproj file. So I put:

    <IntermediateOutputPath >..\build\obj\Debug </IntermediateOutputPath >

    in the .csproj file. The intermediate objects are now put in that location when the solution is built, but the problem is that an obj directory is still created in the directory the .csproj file is in (something to the effect of obj\Debug\TempPE) when the solution is opened. What is this directory for, and how can I relocate it?

    A Solution: You could try to do this (don't forget that there are Debug and Release sections which will be used depending on what type of build you are targeting):

    < PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " >
    ...
    <BaseIntermediateOutputPath>..\build\obj </BaseIntermediateOutputPath >
    <IntermediateOutputPath> $(BaseIntermediateOutputPath)$(Configuration)\ < /IntermediateOutputPath >
    </PropertyGroup >

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " >
    ...
    <BaseIntermediateOutputPath >..\build\obj </BaseIntermediateOutputPath >
    <IntermediateOutputPath >$(BaseIntermediateOutputPath)$(Configuration)\ </IntermediateOutputPath >
    </PropertyGroup >

  11. MSBuild internals for C++ projects
  12. When you set project properties in the IDE and then save the project, Visual Studio writes the project settings to your project file. The project file contains settings that are unique to your project. However, it doesn't contain all the settings required to build your project. The project file contains Import elements that include a network of additional support files. The support files contain the remaining properties, targets, and settings required to build the project.

    Most targets and properties in the support files exist solely to implement the build system. This article discusses useful targets and properties you can specify on the MSBuild command line. To discover more targets and properties, explore the files in the support file directories.

    Visual Studio 2019

    • %VSINSTALLDIR%MSBuild\Microsoft\VC\<version >\

      Contains the primary target files (.targets) and property files (.props) that are used by the targets. By default, the $(VCTargetsPath) macro references this directory. The placeholder refers to the Visual Studio version: v160 for Visual Studio 2019, v150 for Visual Studio 2017.

    • %VSINSTALLDIR%MSBuild\Microsoft\VC\<version >\Platforms\<platform >\

      Contains platform-specific target and property files that override targets and properties in its parent directory. This directory also contains a DLL that defines the tasks that are used by the targets in this directory. The <platform > placeholder represents the ARM, ARM64, Win32, or x64 subdirectory.

    • %VSINSTALLDIR%MSBuild\Microsoft\VC\<version >\Platforms\<platform>\PlatformToolsets\<toolset>\

      Contains the directories that enable the build to generate C++ applications by using the specified . The placeholder represents the ARM, ARM64, Win32, or x64 subdirectory. The placeholder represents the toolset subdirectory.

  13. Move intermediates directory on C# projects in Visual Studio
  14. This seems trivial with C++ projects as you can specify both the output and the intermediates directory. However with C#, at least through the Visual Studio 2008 User Interface it seems impossible to move the obj directory?

    A Solution: If you add both of the following lines to each build configuration then the "obj" folder is not created by default and there is no need for a post-build action:

    <IntermediateOutputPath >Assembly\obj\Debug\ </IntermediateOutputPath >
    <BaseIntermediateOutputPath >Assembly\obj\Debug\</BaseIntermediateOutputPath >

  15. Advanced Property Page
  16. The Advanced property page is available in Visual Studio 2019 and later.

  17. Migrating Projects Created with Visual Studio Versions Earlier than 2010
  18. Migrating Projects Created with Visual Studio Versions Earlier than 2010

  19. How to set up C++ visual studio project
  20. Start with a C++ empty project at a centralize location..

  21. Understanding the Clean target #2408
  22. What Clean does and how?

    That mental model doesn't capture the nuances of the current implementation of Clean, which is pretty complex.

    The intuitive goal of the Clean target is to delete everything produced by previous non-clean runs. That goal is hard to achieve because the MSBuild engine doesn't have enough information to know what "the outputs of the build" are. A task implementation can create arbitrarily many files, and build input parameters or other state can cause different outputs to be produced.

    To deal with that, the common targets implement an honor-system method of tracking the output of "the last build". Well-behaved targets emit their outputs into an item named @(FileWrites), which is serialized to $(CleanFile) in the obj directory (it ends with .FileListAbsolute.txt) in a target named _CleanRecordFileWrites. Clean can then read that list and delete files in it during a subsequent MSBuild invocation.

    That is made more complicated by the possibility of incremental builds--builds that would have written a file, but it was up to date, so this build didn't do so. But you still want to delete those build outputs on Clean! So there's logic in common targets to preserve the list of files that were written last time, unless they really shouldn't be present any more (because you changed something). That's the AndPrior part of _CleanGetCurrentAndPriorFileWrites.

    The next complicating factor is the possibility that multiple projects might be built to the same output directory. In that case, cleaning a single project should not delete the outputs of other projects. But it would, because some references get copied to the output folder. To account for this, there's a second item group @(FileWritesShareable). That list is treated specially: only items from it that are believed to be unique to this project are written to the $(CleanFile) for later deletion.

  23. How to configure the intermediate output directory in C#
  24. Basic Concepts and Definitions

  25. Visual Studio keeps adding property to my csproj. Why?
  26. I'm using Visual Studio 2012 RC to work with my C# solution. All my configuration-specific settings are stored within a single .props file which is then included by all my .csproj files.

    Yet VS insists on putting this right in front of the include:

    Those IntermediateOutputPath's can be inserted when MSBuild is given a bad path.

    In our case, we had extra unnecessary slash after SolutionDir for output folders.

    What wasn't working for us(note the extra slash):

    $(SolutionDir)\out\bin\ $(SolutionDir)\out\obj\

    What did work:

    $(SolutionDir)out\bin $(SolutionDir)out\obj

    To help troubleshoot your particular case, try turning on diagnostic MSBuild output and logging under Tools->Options->Projects and Solutions->Build and Run-> MSBuild project build output verbosity. Then, search for the generated folder (ex. "Temp").

    Using common proj/props/targets file is a great idea, but it does require fighting Visual Studio a little.

  27. Autogenerated IntermediateOutputPath in the .csproj file
  28. A Question:After updating the code from Git I have an error in the csproj, because the file path doesn't exist. Here is the code which initiates the error:

    This filepath exists on Harry's computer, but not on mine. The guy with this name has no idea how he created this, so I assume Visual Studio created it. That's why I have three questions:

    1. What's the goal of IntermediateOutputPath tag in the csproj? (I already checked MSDN documentation, but still not clear)
    2. How did Harry generat the code (because he doesn't know)?
    3. Is it possible to use a generic variable to get a file path that everybody could use? In the case, is this IntermediateOutputPath mandatory for the program to run?

    this post gives lot of definitions about these paths...

what are the best C++ plot library?

what are the best C++ plot library?

  1. What are the best plot and charting C++ package which can be used for data visualization?
  2. I am looking for a plot library in C++ that can be used for data visualization mostly of radio signal visualization including power spectral denstiy, FFT, time domain signal, scatter plot. Data is stream processed in real time in a C++ windows form application written in visual studio C++ or QT environment.

    Please assert if your answer is for stream data, batch data, or both ?.

  3. 3D graphics have become so popular, particularly in video games, that specialized APIs (application programming interfaces) have been created to ease the processes in all stages of computer graphics generation. These APIs have also proved vital to computer graphics hardware manufacturers, as they provide a way for programmers to access the hardware in an abstract way, while still taking advantage of the special hardware of any specific graphics card. The first 3D graphics framework was probably Core, published by the ACM in 1977..

  4. OpenGL Data Visualization Cookbook
  5. OpenGL is a great multi-platform, cross-language, and hardware-accelerated graphics interface for visualizing large 2D and 3D datasets. Data visualization has become increasingly challenging using conventional approaches as datasets become larger and larger, especially with the Big Data evolution. From a mobile device to a sophisticated high-performance computing cluster, OpenGL libraries provide developers with an easy-to-use interface to create stunning visuals in 3D in real time for a wide range of interactive applications.

    This book provides a series of easy-to-follow, hands-on tutorials to create appealing OpenGL-based visualization tools with minimal development time. We will first illustrate how to quickly set up the development environment in Windows, Mac OS X, and Linux. Next, we will demonstrate how to visualize data for a wide range of applications using OpenGL, starting from simple 2D datasets to increasingly complex 3D datasets with more advanced techniques. Each chapter addresses different visualization problems encountered in real life and introduces the relevant OpenGL features and libraries in a modular fashion.

    By the end of this book, you will be equipped with the essential skills to develop a wide range of impressive OpenGL-based applications for your unique data visualization needs, on platforms ranging from conventional computers to the latest mobile/wearable devices..

  6. Anton's OpenGL 4 Tutorials Kindle Edition
  7. kindle book.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

glh/glh_convenience.h

glh/glh_convenience.h

  1. OpenNI/Samples/NiUserTracker/glh/
  2. goto this folder: OpenNI/Samples/NiUserTracker/glh/.

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  1. How to compile zLib 1.2.8 (WINAPI / WAPI / STDCALL version)
  2. This is not a full-blown article - just a quick HOWTO for people who require the latest version of zLib and want to use it from a language (like classic VB) that requires a standard WinAPI interface.

    By default, zLib uses C calling conventions (CDECL). Gilles Vollant has helpfully provided an STDCALL version of zLib in the past, but his site only provides version 1.2.5, which dates back to January 2012. zLib is currently on version 1.2.8.

    Gilles has contributed his WAPI fixes to the core zLib distribution so that anyone can compile it themselves. To do this, you will need to download:

    1. The latest version of the zLib source code (http://zlib.net/zlib1211.zip at the time of this writing).
    2. The express version of Visual Studio 2012, freely downloadable from http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products

    Once both of those are downloaded (and updated, as VS 2012 will require you to install several service packs), follow these steps to compile zLib yourself:

  3. Creating a Self Extracting Executable
  4. A class that allows you to create self extracting executables for use in distribution or setup programs.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

Error LNK1281 Unable to generate SAFESEH image.

Error LNK1281 Unable to generate SAFESEH image. OGLGraph C:\Demo_MFCGL\OGLGraph\Debug\OGLGraph.exe 1

  1. Visual C++: module unsafe for SAFESEH image, unable to generate SAFESEH image
  2. Using Visual Studio 2012, I was building from the command line a software which was built until now using an older version (guess it was Visual Studio 2005). There were of course many things I had to change in the code itself (so much for portability…). And of course I had to upgrade the project in the solutions to VS2012 (using the devenv /upgrade command).

    After converting the projects and modifying the code, I got the following error messages on a few projects:

    error LNK2026: module unsafe for SAFESEH image. fatal error LNK1281: Unable to generate SAFESEH image.

    This means that the linker was started with the option meaning /SAFESEH “image has safe exception handlers” (also note that we only got this because we’re still building 32bit targets). The error occurs because some input modules were not compatible with the safe exception handlers feature of the linker. In our case it was some third party lib files for which I did not have the source code. These lib files are not be compatible with safe exception handlers is because they were created with an older version of the Visual C++ compiler.

    But this is easy to fix. You just need to tell the linker not to produce an image with a table of safe exceptions handlers even if it thinks that all modules are compatible with the safe exception handling feature.

    A Solution:If you work in the Visual Studio Editor, you can right-click on your DLL project, go to Properties > Linker > Advanced and set “image has safe exception handlers” to No.

  3. module unsafe for SAFESEH image C++
  4. I am using Microsoft Visual Studio 2011 Professional Beta

    I am trying to run the OpenCV C++ files (http://opencv.willowgarage.com/wiki/Welcome) that I have compiled using cMake & the Visual Studio Complier.

    However when I go to debug the project I get 600+ errors most of them being:

    error LNK2026: module unsafe for SAFESEH image.

    This happens when you link an .obj or .lib that contains code created by an earlier version of the compiler. Which of course would be common if you downloaded a binary for opencv_ffmpeg instead of the source. You can turn the linker option off but then you'll still have a CRT version incompatibility that can byte. Rebuild the library from source. – Hans Passant May 15 at 13:01

  5. /SAFESEH (Image has Safe Exception Handlers)
  6. /SAFESEH[:NO]

    When /SAFESEH is specified, the linker will only produce an image if it can also produce a table of the image's safe exception handlers. This table specifies for the operating system which exception handlers are valid for the image.

    /SAFESEH is only valid when linking for x86 targets. /SAFESEH is not supported for platforms that already have the exception handlers noted. For example, on x64 and ARM, all exception handlers are noted in the PDATA. ML64.exe has support for adding annotations that emit SEH information (XDATA and PDATA) into the image, allowing you to unwind through ml64 functions. See MASM for x64 (ml64.exe) for more information.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

Error LNK1104 cannot open file 'MSVCURTD.LIB'

Error LNK1104 cannot open file 'MSVCURTD.LIB' GLView Demo C:\Demo_MFCGL\GLView_Source\GLView Demo\LINK 1

  1. Visual studio c++ Link1104 cannot open file MSVCURTD.lib
  2. I have opened a project made with visual studio 2012 express (written in c++) with visual studio 2017 community, when I try to compile I get the following mistake:

    LINK1104 cannot open file MSVCURTD.lib

  3. Update from VS2010 C++ to VS2017 get Link 1104 error, can’t find MSVCURT.lib
  4. I developed a program 9-10 years ago for the Navy using VS2005. While I’ve gone on to better and greater things, I’ve been called upon at various times to maintain/modify this software. One of the last times was in 2012 using VS2010. I’ve just recently been called on to investigate adding some modifications. We now have VS2017. I was able to right click on the solution to convert it into a form that VS2017 could handle but when I attempted to compile, I got the error in the subject line. It seems that there is a problem updating a “.vcxproj” file. I did a search and MSVCURT.lib does exist, so one problem must be telling the compiler where it is.

    A Solution: Then change the Common Language Runtime option from /clr:pure to /clr. If it builds, then its time to commence testing.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

OpenGL NURBS research

OpenGL NURBS research on cp.

    Excellent Posts

  1. Rubber-Banding with OpenGL
  2. Rubber-banding with OpenGL - A utility class

  3. True OpenGL Zooming
  4. True zooming on a perspective view....

  5. NURBS curve made easy
  6. NURBS curve made easy.

  7. Drawing nearly perfect 2D line segments in OpenGL
  8. With premium quality anti- aliasing, color, thickness and minimum CPU overhead.

  9. A Lightweight Real-time OpenGL Graph Component
  10. An article on integrating an OpenGL-based graph component that provides real-time updates..

  11. Drawing Polylines by Tessellation
  12. Drawing Polylines by tessellation with joints, caps, feathering and per- vertex color

  13. Drawing nearly perfect 2D line segments in OpenGL
  14. With premium quality anti- aliasing, color, thickness, and minimum CPU overhead.

    More Times

  15. 2D Drawing with an OpenGL Control
  16. An article explaning how to create a user control for 2D shape drawing with OpenGL.

  17. Leveraging your Existing C++ Code for Use in the .NET Environment
  18. This article shows how you can make your existing C++ code available to .NET environment.

  19. OpenGL for Both Native and .NET Environment
  20. This article explains how to select an object using OpenGL.

  21. How to select an object using OpenGL
  22. This is a paragraph.

  23. Miner3D_viewer ActiveX control (for Miner3D game)
  24. A solution for writing game 3D using VC combined with VB..

  25. Transformations Using OpenGL
  26. This article explains the viewing and modeling transformations.

  27. FreeType on OpenGL ES (iPhone)
  28. This is a paragraph.

  29. An OpenGL ActiveX Control Developed with MFC
  30. An OpenGL ActiveX Control Developed with MFC.

  31. Writing a Platform and GUI Toolkit Independent OpenGL Class
  32. Article showing how to write OS and GUI toolkit portable OpenGL view class

  33. This is a paragraph.

  34. This is a paragraph.

  35. This is a paragraph.

  36. This is a paragraph.

Thursday, March 11, 2021

Sierra Chart - High Performance Trading Platform

Sierra Chart - High Performance Trading Platform

  1. Sierra Chart - High Performance Trading Platform
  2. This is a paragraph.

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

warning MSB4211: The property "IntermediateOutputPath" is being set to a value for the first time, but it was already consumed at

warning MSB4211: The property "CleanFile" is being set to a value for the first time, but it was already consumed at "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets (36,5)". 1>StdAfx.cpp

  1. Autogenerated IntermediateOutputPath in the .csproj file
  2. After updating the code from Git I have an error in the csproj, because the file path doesn't exist. Here is the code which initiates the error:

  3. Visual Studio keeps adding property to my csproj. Why?
  4. I'm using Visual Studio 2012 RC to work with my C# solution. All my configuration-specific settings are stored within a single .props file which is then included by all my .csproj files. Yet VS insists on putting this right in front of the includp>

  5. Common MSBuild Project Properties
  6. The following table lists frequently used properties that are defined in the Visual Studio project files or included in .targets files that MSBuild provides.

    Project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that runs when you build a project by using the IDE. Projects typically import one or more .targets files to define their build process. For more information, see .Targets Files.

Tuesday, March 9, 2021

COLLADA Document Object Model (DOM)

COLLADA Document Object Model (DOM)

dom/projec/vc8-1.5 is good project to start with.

instruction 1:domany.cpp is in src\1.5 or 1.4. please copy this file to src/dae/ folder.

instruction 2: review the include statements in domany.cpp, adjust path to domay.h file as:

#include < dae/domAny.h >

  1. COLLADA Document Object Model (DOM)
  2. The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document. Contact a project admin to become a developer!

  3. Simple OpenGL Test Framework
  4. A simple OpenGL framework for fast prototyping of OpenGL and game applications.

  5. CMake: Get the Software
  6. You can either download binaries or source code archives for the latest stable or previous release or access the current development (aka nightly) distribution through Git. This software may not be exported in violation of any U.S. export laws or regulations. For more information regarding Export Control matters please go to https://www.kitware.com/legal..

  7. CMake and Visual Studio
  8. CMake produces Visual Studio solutions seamlessly. This post will map CMake commands to the Visual Studio IDE with an example which makes learning much easier. It is primarily intended for a C++ developer using Visual Studio. Most references here is based on Visual Studio 2010 but will apply equally well to other versions. Continuing from the preface CMake for Visual Studio Developers.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.