Guest User

Untitled

a guest
May 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. Steps I can Remember and Problems I Encountered:
  2.  
  3. Steps Taken to Build Static LIB From Fresh Solution/Projects:
  4. * : Create Static Lib non - windows -universal project
  5. * : Add Orc-0.4.28 code to project
  6. * : Add /TC
  7. * : Add include/dependency directories
  8. * : Define _CRT_SECURE_NO_WARNINGS in processor part of project file
  9. * : Used find/replace in visual studio to add underscores to needed calls such as strndup
  10. * : Added pre processor definitions as needed to code
  11. * : !!!Modify config.h to: https://pastebin.com/g5j6rcXV !!!
  12. * : Specified /Subsystem:Windows field to "Not Set" or empty
  13.  
  14. * : Result: Success!
  15.  
  16. Steps Taken to Build DLL From Fresh Solution/Projects:
  17. * : Create DLL project
  18. * : Add Orc-0.4.28 code to project
  19. * : Add /TC
  20. * : Change calling convention to __vectorcall
  21. * : Add include/dependency directories
  22. * : Define _CRT_SECURE_NO_WARNINGS in processor part of project file
  23. * : Used find/replace in visual studio to add underscores to needed calls such as strndup
  24. * : Added pre processor definitions as needed to code
  25. * : !!!Modify config.h to: https://pastebin.com/g5j6rcXV !!!
  26. * : Specified /Subsystem:Windows field to "Not Set" or empty
  27. * : Created a .def file by specifying /MAP, and /MAP:EXPORTS in the linker, then extracting the functions
  28. using python script, and created a basic .def file with said python script as well
  29. * : Create a "blacklist" of functions that wont export with python script and specify how many functions to
  30. include as not to include anything outside orc.
  31. * : Add .def to linker so it produces a .lib
  32.  
  33. * : Result: Some things didn't want to export/link, I didn't build some things:
  34. * : Issue Later Resolved?: Some things didn't want to export. Solution?: Comment out calls to ORC_ASSERT, ORC_DEBUG, etc.
  35.  
  36.  
  37. Steps taken to Build Some of The Meson Files:
  38. * : Add include/dependency directories
  39. * : Remove paths from linker inputs
  40. * : Change all .dll.a to .lib
  41. * : Fix linked files
  42. * : Change calling convention to __vectorcall
  43. * : Add /TC
  44. * : Define _CRT_SECURE_NO_WARNINGS in processor part of project file
  45. * : Sometimes used notepad++'s find/replace in files feture to get rid of -std=gnu99 -fdiagnostics-color=always
  46. * : Sometimes unchecked Inherit Project Defaults for linker command line and got rid of extraneous arguments
  47. * : Got rid of "mainCRTStartup" left field blank
  48. * : Used find/replace in visual studio to add underscores to needed calls such as strndup
  49. * : Added pre processor definitions as needed to code
  50. * : !!!Modify config.h to: https://pastebin.com/g5j6rcXV !!!
  51. * : Got VisualGDB extension
  52. * : Got rid of random imports
  53. * : Specified /Subsystem:Windows feild to "Not Set" or empty
  54. * : Created a .def file by specifying /MAP, and /MAP:EXPORTS in the linker, then extracting the functions
  55. using python script, and created a basic .def file with said python script as well
  56. * : Create a "blacklist" of functions that wont export with python script and specify how many functions to
  57. include as not to include anything outside orc.
  58. * : Add .def to linker so it produces a .lib
  59. * : Comment out calls to ORC_ASSERT, ORC_DEBUG, etc.
  60.  
  61. Result: everything compile/links that I tested but resulting executable's bug out.
  62. Unresolved Issues: Buggy executable's, some functions did not export
  63.  
  64.  
  65. Problems with project files:
  66. * : Some project files are unnecessary and are projects with a ".c" extension added, for example orc_test, then: orc_test.c
  67. * : The meson files generate unnecessary linker options which are duplicates of the default arguments with extra paramters i.e: -Wl,--start-group -lm -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
  68. * : The meson files generate feed GCC options to the compiler i.e: -std=gnu99, and -fdiagnostics-color=always
  69. * : Entry point is defined as "mainCRTStartup" which has caused issues
  70. * : Linker options are set to link .dll.a files instead of .lib
  71. * : Project does not generate accompanying .lib file to .dll
  72. * : Linker input's specify paths (which doesn't work in MSVS)
  73. * : Necessary pre - processor definitions such as _CRT_SECURE_NO_WARNINGS are not defined
  74. * : Some C functions like strndup need an underscore... because Microsoft
  75. * : It is necessary to use /Gv __vectorcall or /Gr __fastcall when compiling DLL's in the dll, and exe
  76. * : Additional Dependency and Additional Include directories are not set.
  77. * : Need to compile with /TC
  78. * : Some projects seemingly randomly input random imports and exports including their own results.
  79. * : /Subsystem:Windows specified, causing linker/linking issues.
  80. * : Names of outputted files do not match files attempting to be linked with, for example liborc-0.4.dll vs. liborc-0.4-0.dll
  81. * : When compiling DLL, some functions "cant be found" when linking with an executable or when exporting.
  82. * : Pre - processor definitions such as ORC_ENABLE_UNSTABLE_API and HAVE_CONFIG did not resolve correctly, needed to modify code to add
  83. * : Default config file needed to be changed https://pastebin.com/g5j6rcXV
  84. * : Needed VisualGDB extension for some of its C files https://visualgdb.com/ .
  85. * : !!!Build is buggy, executable crash, however when I took the source and put it in a fresh project file and built static pretty much everything seems to work fine!!! (e.g exec_opcodes_sys.exe)
Add Comment
Please, Sign In to add comment